見出し画像

PostgreSQL:バッチでSQLを実行する

PostgreSQLをバッチで実行するサンプルです。

SQLを起動するバッチ
(例:PsqlStart.bat ※任意のファイル名に変更してください)


cd %~dp0

rem パスワードを先に設定する
set PGPASSWORD=Password

rem ServerName:サーバー名
rem UserName:ユーザー名
rem DbName:DB名
rem PortNumber:ポート番号
rem script.sql:SQLが書いてあるSQLファイル(任意のファイル名に変更してください)
rem result.txt:SQLの結果が出力されるファイル(任意のファイル名に変更してください)

psql -h ServerName -U UserName -d DbName -p PortNumber -f script.sql -o result.txt

start "" "result.txt"

SQLを記載するファイル
(例:script.sql ※上記バッチファイル内に記載しているファイル名です。)

--sampleのSQL
SELECT now() AS "現在の時間"

上記バッチファイル内に記載しているファイル名「result.txt」にSQLの結果が出力され、「result.txt」が自動起動します。


補足
「psql」で以下のエラーになった場合はPATHが通っていません。
PostgreSQLの実行ファイルを探し、環境変数の「PATH」にセットしてOSを再起動してください。

実行ファイルの場所は「C:\Program Files\PostgreSQL\バージョン名\data」です。
例:バージョン16の場合は「C:\Program Files\PostgreSQL\16\data」です。

'psql' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

この記事が気に入ったらサポートをしてみませんか?