daybreaksnow's diary

私を私と呼びたい

[PostgreSQL]パスワード入力無しでバッチファイルからコマンドを実行する

参考:
http://www.postgresql.jp/document/9.3/html/libpq-pgpass.html

Windowsの場合
  • 編集対象
%APPDATA%\postgresql\pgpass.conf
  • 編集内容

形式

[ホスト名]:[ポート番号]:[DB名]:[ユーザ名]:[パスワード]

ワイルドカードとして*も使える。

記述例

localhost:5432:*:hogeUser:hogePassword

DB名を決め打ちだと、以下のようなコマンドでパスワードが必要になってしまう。

dropdb -U postgres hoge

DB名の指定を*にしておけば、上記のようにpsqlでないコマンドでもパスワード無しで実行できる。