ページの先頭行へ戻る
Enterprise Postgres 15 アプリケーション開発ガイド

10.1 アプリケーションの接続先切り替え機能の接続情報

アプリケーションの接続先切り替え機能を利用する場合には、データベース接続時に、以下の情報を設定してください。


IPアドレスまたはホスト名

データベース多重化システムを構成するIPアドレスまたはホスト名を指定します。

ポート番号

各データベースサーバがアプリケーションの接続をlistenしているポート番号です。
各クライアントインタフェースでは、複数のポート番号を指定することができますが、例えば以下の形式でポート番号を1つだけ指定した場合、クライアントインタフェースよってポート番号の指定値が異なります。

host1,host2:port2

JDBCドライバまたは.NET Data Provider

ポート番号を1つだけ指定すると、host1:27500(省略値)とhost2:port2が指定されたとみなされます。ポート番号は、すべて省略するか、サーバの個数分指定してください

その他のドライバ

ポート番号を1つだけ指定すると、すべてのポートで同じポート番号が指定されたとみなされます。

ターゲットサーバ

指定した接続先サーバの情報の中から、アプリケーションが接続するサーバの選択順を指定します。ターゲットサーバに指定する値は、それぞれ以下の意味です。省略した場合には、“any”になります。

プライマリサーバ

指定した“IPアドレスまたはホスト名”の中から、プライマリサーバを選択して接続します。更新を伴うアプリケーションや、REINDEX や VACUUM といった管理作業のように、プライマリサーバでのみ実行可能な作業を行う場合に指定します。

スタンバイサーバ

指定した“IPアドレスまたはホスト名”の中から、スタンバイサーバを優先的に選択して接続します。スタンバイサーバでは更新を行うことはできません。接続先がスタンバイサーバではない場合、指定された<接続先サーバタイプ>が見つからないというメッセージが出力されます。

プライマリサーバの優先

指定した“IPアドレスまたはホスト名”の中から、プライマリサーバを優先的に選択して接続します。プライマリサーバが存在しない場合には、スタンバイサーバに接続します。

スタンバイサーバの優先

指定した“IPアドレスまたはホスト名”の中から、スタンバイサーバを優先的に選択して接続します。スタンバイサーバが存在しない場合には、プライマリサーバに接続します。

任意

この指定方法は、データベース多重化システムでは推奨しません。指定した“IPアドレスまたはホスト名”の中から、指定された順番に接続先を選択していきますが、最初に接続に成功したサーバがスタンバイサーバの場合には、常に書き込み操作が失敗するためです。

各ドライバごとのサーバの選択順の設定値は、以下のとおりです。

サーバの選択順

JDBCドライバ

.NET Data Provider

他のドライバ

プライマリサーバ

“primary”(注1)

“read-write”(注1)

“primary”(注2)

“read-write”(注1)

“primary”(注2)

スタンバイサーバ

“secondary”(注2)

“standby”

“read-only”(注2)

“standby”

“read-only”(注2)

プライマリサーバの優先

“preferPrimary”(注3)

“prefer-primary”

スタンバイサーバの優先

“preferSecondary”(注2)

“prefer-standby”

“prefer-standby”(注4)

任意

“any”

“any”

“any”

注1: デフォルトのトランザクションモードが読み取り専用のプライマリサーバは選択されません。

注2: デフォルトのトランザクションモードが読み取り専用のプライマリサーバも選択されます。

注3: デフォルトのトランザクションモードが読み書き可能なプライマリサーバが優先されます。

注4: Fujitsu Enterprise Postgres 13以前のバージョンからの互換扱いとして“prefer-standby”の代わりに“prefer-read”も指定可能ですが、推奨できません。

SSLのサーバ証明書のCommon Name

多重化システムの各サーバで、各サーバごとに同じサーバ証明書を作成し、SSL認証を行う場合は、サーバ証明書のCommon Nameを本パラメータに指定して接続してください。これによって、多重化システムを構成する複数のサーバ名を意識することなく、CommonNameを使用したSSL認証を行うことができます。