pgAdminを介してpgAgentで特定の時間にバッチファイルパスを使用してステップを設定しようとしています。しかし、実行すると失敗し、ステップ統計でこの出力が得られました
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には 2 つのステートメントしかありません
@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"
私のArchive.sql
update "Archive".emp set "FirstName"='Srikanth Dyapa';