PostgreSQL のパスワードファイル

前回、PostgreSQL のパスワードを環境変数で設定するのは PostgreSQL 的には非推奨と書きましたが 推奨されている方法について書いておきます。

[参考]
環境変数 - PostgreSQL 9.3.2文書

以下のような内容を「~/.pgpass」に記載します。

hostname:port:database:username:password

ファイル名は、環境変数 PGPASSFILE で変えることができます。

複数記載することができ、 上から順にマッチしたものを使用してくれます。 環境変数と違って複数設定しておけるのは便利ですね。

localhost:*:testdb1:testuser1:testpassword1
localhost:*:testdb1:testuser2:testpassword2
localhost:*:testdb2:testuser3:testpassword3

"*" も使用できます。 ホスト名は、Unixドメインソケットの場合 でも "localhost" で良いそうです。

[参考]
パスワードファイル - PostgreSQL 9.3.2文書

$ chmod 600 ~/.pgpass

ファイルの権限を 600 にしていないとエラーになります。

Google サイト内検索

Amazonアソシエイト