パスワード入力なしでpsql

psqlにはデータベース名やホスト名、ユーザ名などを指定するオプションはあるが、パスワードを指定するオプションはない。
これではシェルスクリプトなどで、psqlを使いたい場合に困ってしまう。

そこで調べてみると、「$HOME/.pgpass」を作って、そこに書けばいいらしい。(マニュアル)
そしてWindowsでは「%APPDATA%\postgresql\pgpass.conf」となる。
いずれも書式は同じで

hostname:port:database:username:password

UNIX系OSではファイルのパーミッションを「0600」にしておかないと無視されるらしいので注意。
あと、「PGPASSWORD」という環境変数もあるらしいのですが、非推奨となってます。

コメント

  1. p0t より:

    psqlでパスワード指定方法

    SaikyoLine.jp: パスワード入力なしでpsql psqlにはデータベ…

  2. [postgresql] .pgpassで自動化すべし

    もともとPostgreSQLマニュアルで見つけたんですが、SQLの自動実行とかでパスワード入力をどうするかというのは常に付きまとう問題ですが、.pgpa…

タイトルとURLをコピーしました