Задание 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 команда

Другие вопросы по тегам