Задание pgAgent не удалось в Windows
Я пытаюсь настроить шаг с помощью пути к пакетному файлу в определенное время в pgAgent через pgAdmin. Но когда я запускаю, что это терпит неудачу, и в статистике шага, я получил этот вывод
C:\Windows\system32>C:\postgresql\run.bat 'psql' не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.
Подробности:
Postgresql 9.3.5 on local system account (Current User)
pgAdmin 1.18.1
pgAgent via stack builder with Administrator account (Current User)
в run.bat у меня только два утверждения
@echo off
psql -h localhost -p 5433 -U postgres -d test -a -f "test.sql"
У меня есть psql в переменной системного пути и могу получить к нему доступ в cmd. Когда я запускаю этот файл bat вручную, он выполняется без сбоев. Но когда я дал путь к пакетному файлу (C:\postgresql\run.bat)
в заданиях pgAgent выдает эту ошибку в статистике.
Что-то не так в моей конфигурации? Почему это всегда идет к этому C:\Windows\system32>
?
Редактировать:
Мой файл run.bat
@ECHO OFF
SET LBSDatabaseName=Test
SET dbHost=localhost
SET dbPort=5434
SET dbUser=postgres
SET logFile=DbInstall.log
SET sqlFolder="D:\SOURCECODE\archivescripts"
"C:\Program Files (x86)\PostgreSQL\9.3\bin\psql.exe" -h "%dbHost%" -p "%dbPort%" -d "%LBSDatabaseName%" -U "%dbUser%" -L "%logFile%" -q -f "%sqlFolder%\Archive.sql"
Мой архив.sql
update "Archive".emp set "FirstName"='Srikanth Dyapa';
1 ответ
Например,
D: \ pgAgent_jobs
это путь, где psql
расположен.
D: \ pgAgent_jobs \ Scripts \ Test.sql
это путь, по которому мой test.sql
размещены.
D: \ pgAgent_jobs \ Сценарии \psqlss.bat
мой файл bat для выполнения test.sql
так что мой файл летучих мышей будет как ниже
@echo off
cd /D D:\\pgAgent_jobs
psql -h localhost -p 5432 -U postgres -d db_name -a -f "D:\pgAgent_jobs\scripts\test.sql"
Примечание: мой pg_hba.conf настроен с trust
для всех hosts
вот почему я не пропускаю password
в выше psql
команда