接続サービスファイルの利用を推奨します。“4.1.4 接続サービスファイルを利用する場合”を参照してください。
ポイント
接続サービスファイルを利用するには、以下のいずれかの方法があります。
文字列リテラルまたはホスト変数を使用して、以下のように記述する方法
tcp:postgresql://?service=my_service
環境変数PGSERVICEにサービス名を設定し、かつCONNECT TO DEFAULTを用いる方法
接続サービスファイルを利用しない場合は、以下のSQL文のtargetに、リテラルまたは変数を用いて接続先サーバの情報を指定します。
EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];
dbname@host1,host2[:port1,port2] tcp:postgresql://host1,host2[:port1,port2][/dbname] [?target_server={primary | prefer_standby}]
上記の形式をリテラルや変数を使わずに直接指定することはできません。
ポート番号を省略した場合は26500となります。
引数 | 説明 |
---|---|
host1 | IPアドレスまたはホスト名を指定します。 |
port1 | カンマ区切りで接続先のポート番号を指定します。 |
dbname | データベース名を指定します。 |
target_server | アプリケーションが接続するサーバの選択順を指定します。 |
また、環境変数での設定も可能です。環境変数については、“4.1.5 C言語用ライブラリ(libpq)を利用する場合”を参照してください。
ポイント
接続パラメータconnect_timeoutを利用する場合には、指定した各ホストへの接続に対してconnect_timeoutが適用されます。二重化されているデータベースサーバの両方がダウンしている場合、接続がタイムアウトするまでには、connect_timeoutの2倍の時間がかかります。