以下に示すCONNECT文を利用してデータベースサーバへの接続を作成します。
書式
EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];
次のいずれかの形式で記述します。
dbname@host:port
tcp:postgresql://host:port/dbname[?options]
unix:postgresql://host[:port][/dbname][?options]
(ローカル接続の場合のみ記述可能)
上記形式のいずれかを含むSQL規約の文字列定数
上記形式のいずれかを含む文字変数への参照
DEFAULT
次のいずれかの形式で記述します。
username
username/password
username IDENTIFIED BY password
username USING password
引数に関する説明
引数 | 説明 |
---|---|
dbname | データベース名を指定します。 |
host | 接続先のホスト名を指定します。 |
port | データベースサーバのポート番号を指定します。 省略した場合は、26500となります。 |
connection-name | 1つのプログラム内で複数の接続を処理する場合に、コネクションを識別するためのコネクション名を指定します。 |
username | データベースへ接続するユーザー名を指定します。 省略した場合は、そのアプリケーションを実行しているユーザーのオペレーティングシステム上の名前と同じです。 |
password | パスワードによる認証を必要とした場合に、パスワードを指定します。 |
options | タイムアウト時間を指定する場合は、以下のパラメータを指定します。複数のパラメータを指定する場合は&で繋ぎます。各パラメータの指定値は以下のとおりです。
|
参考
Solarisでは、keepalives_idle、keepalives_intervalおよびkeepalives_countを指定できませんが、nddコマンドで、以下を設定できます。
tcp_keepalive_interval
キープアライブメッセージを送信するまでの時間
tcp_ip_abort_interval
TCP接続に対する再送タイムアウト値
ただし、システム全体に影響があることを考慮して設定する必要があります。
EXEC SQL CONNECT TO tcp:postgresql://sv1:26500/mydb?connect_timeout=20&keepalives=1&keepalives_idle=20&keepalives_interval=5&keepalives_count=2 USER myuser/myuser01;