ユーザのホームディレクトリの.pgpass
またはPGPASSFILE
で設定されるファイルは、接続にパスワードが必要な場合(かつ、他に指定されたパスワードが無かった場合)に使用するパスワードを格納するファイルです。
Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf
(ここで%APPDATA%
はユーザのプロファイル内のアプリケーションデータディレクトリ)です。
このファイル内の行の書式は次の通りです。
hostname
:port
:database
:username
:password
(このファイルでは、上のような行をコピーし、その先頭に#
をつけて忘れないようにコメントとして残すことができます。)
先頭の4フィールドはそれぞれリテラル値にすることも、あるいはすべてに一致する*
を使用することもできます。
最初に現在の接続パラメータと一致した行のパスワードフィールドが使用されます。
(従って、ワイルドカードを使用する場合は、始めの方により具体的な項目を入力してください。)
項目内に:
または\
を含める必要があれば、\
でこれらの文字をエスケープする必要があります。
localhost
ホスト名は、ローカルマシンからのTCP接続(ホスト名がlocalhost
)とUnixドメインソケット接続(pghost
が空またはデフォルトのソケットディレクトリ)の両方に一致します。
スタンバイサーバでは、replication
という名称のデータベースは、マスタサーバとの間でなされるストリーミングレプリケーション用の接続に一致します。
同一のクラスタ内のすべてのデータベースに対するパスワードは同じものですので、database
フィールドの有用性は限定的なものです。
Unixシステムにおいて、.pgpass
の権限はグループ、他者へのアクセスをすべて拒否しなければなりません。
これはchmod 0600 ~/.pgpass
といったコマンドによって行います。
権限をこれよりも緩くすると、このファイルは無視されます。
Microsoft Windowsにおいては、このファイルが安全なディレクトリに格納されていることを前提としていますので、特別に行われる権限の検査はありません。