ページの先頭行へ戻る
PRIMEFLEX for HA Database 業務開発ガイド(Open SQL編)
FUJITSU Integrated System

4.1.6 埋め込みSQLを利用する場合

接続サービスファイルの利用を推奨します。“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となります。


表4.6 設定する情報

引数

説明

host1
host2

IPアドレスまたはホスト名を指定します。
IPv6形式のIPアドレスは、指定できません。

port1
port2

カンマ区切りで接続先のポート番号を指定します。
ポート番号が26500以外の場合は、同じポート番号を記述します。

dbname

データベース名を指定します。

target_server

アプリケーションが接続するサーバの選択順を指定します。
詳細は“ターゲットサーバ”を参照してください。


また、環境変数での設定も可能です。環境変数については、“4.1.5 C言語用ライブラリ(libpq)を利用する場合”を参照してください。


ポイント

接続パラメータconnect_timeoutを利用する場合には、指定した各ホストへの接続に対してconnect_timeoutが適用されます。二重化されているデータベースサーバの両方がダウンしている場合、接続がタイムアウトするまでには、connect_timeoutの2倍の時間がかかります。