アプリケーションの接続先切り替え機能を利用する場合には、データベース接続時に、以下の情報を設定してください。
データベース多重化システムを構成するIPアドレスまたはホスト名を指定します。
各データベースサーバがアプリケーションの接続をlistenしているポート番号です。
各クライアントインタフェースでは、複数のポート番号を指定することができますが、例えば以下の形式でポート番号を1つだけ指定した場合、クライアントインタフェースよってポート番号の指定値が異なります。
host1,host2:port2
ポート番号を1つだけ指定すると、host1:27500(省略値)とhost2:port2が指定されたとみなされます。ポート番号は、すべて省略するか、サーバの個数分指定してください
ポート番号を1つだけ指定すると、すべてのポートで同じポート番号が指定されたとみなされます。
指定した接続先サーバの情報の中から、アプリケーションが接続するサーバの選択順を指定します。ターゲットサーバに指定する値は、それぞれ以下の意味です。省略した場合には、“any”になります。
指定した“IPアドレスまたはホスト名”の中から、プライマリサーバを選択して接続します。更新を伴うアプリケーションや、REINDEX や VACUUM といった管理作業のように、プライマリサーバでのみ実行可能な作業を行う場合に指定します。
指定した“IPアドレスまたはホスト名”の中から、スタンバイサーバを優先的に選択して接続します。スタンバイサーバでは更新を行うことはできません。接続先がスタンバイサーバではない場合、指定された<接続先サーバタイプ>が見つからないというメッセージが出力されます。
指定した“IPアドレスまたはホスト名”の中から、スタンバイサーバを優先的に選択して接続します。スタンバイサーバが存在しない場合には、プライマリサーバに接続します。
この指定方法は、データベース多重化システムでは推奨しません。指定した“IPアドレスまたはホスト名”の中から、指定された順番に接続先を選択していきますが、最初に接続に成功したサーバがスタンバイサーバの場合には、常に書き込み操作が失敗するためです。
各ドライバごとのサーバの選択順の設定値は、以下のとおりです。
サーバの選択順 | JDBCドライバまたは | 他のドライバ |
---|---|---|
プライマリサーバ | “master” | “read-write” |
スタンバイサーバ | “slave” | - |
スタンバイサーバの優先 | “preferSlave” | “prefer-read” |
任意 | “any” | “any” |
多重化システムの各サーバで、各サーバごとに同じサーバ証明書を作成し、SSL認証を行う場合は、サーバ証明書のCommon Nameを本パラメータに指定して接続してください。これによって、多重化システムを構成する複数のサーバ名を意識することなく、CommonNameを使用したSSL認証を行うことができます。