接続サービスファイルの利用を推奨します。“4.1.4 接続サービスファイルを利用する場合”を参照してください。
接続サービスファイルを利用しない場合は、データベース接続制御関数(PQconnectdbParams、PQconnectdbなど)または環境変数に、以下の情報を設定します。
パラメータ(環境変数名) | 説明 |
---|---|
host(PGHOST) | カンマ区切りでホスト名を指定します。 |
hostaddr(PGHOSTADDR) | カンマ区切りでIPアドレス1およびIPアドレス2を指定します。 |
port(PGPORT) | カンマ区切りで接続先のポート番号を指定します。 ポート番号は省略できます。省略した場合には、26500になります。ポート番号が26500以外の場合は、カンマ区切りで同じポート番号を2つ記述します。 hostにn個指定されていた場合、portのn+1番目以降の指定は無視されます。 |
target_server(PGXTARGETSERVER) | アプリケーションが接続するサーバの選択順を指定します。 |
postgresql://host1[:port1],host2[:port2][,...]/database_name [?target_server={primary | prefer_standby}]
IPv6を使用する場合、ホストは[host]の形式で指定してください。
[指定例]
postgresql://postgres@[2001:Db8::1234]:26500,192.168.1.1:26500/database_name
host=host1[,host2] port=port1[,port2] user=user1 password=pwd1 dbname=mydb [target_server={primary | prefer_standby}]
IPv6を使用する場合、ホストはhostの形式で指定してください。
[指定例]
host=2001:Db8::1234,192.168.1.1 port=26500,26500
ポイント
接続パラメータconnect_timeoutを利用する場合には、指定した各ホストへの接続に対してconnect_timeoutが適用されます。二重化されているデータベースサーバの両方がダウンしている場合、接続がタイムアウトするまでには、connect_timeoutの2倍の時間がかかります。
参考
パスワードファイル(.pgpass) を使用する場合は、各サーバに合致するエントリを記述してください。
例1
host1:port1:dbname:user:password host2:port2:dbname:user:password
例2
*:port:dbname:user:password
参照
詳細は、“PostgreSQL文書”の“クライアントインターフェース”の“libpq - C ライブラリ”を参照してください。