PostgreSQL 9.3.2文書 | ||||
---|---|---|---|---|
前のページ | 上に戻る | 第 31章libpq - C ライブラリ | 次のページ |
ユーザのホームディレクトリの.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においては、このファイルが安全なディレクトリに格納されていることを前提としていますので、特別に行われる権限の検査はありません。