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