DriverManagerクラスの接続文字列またはデータソースに、以下の情報を設定します。
引数 | 説明 |
---|---|
host1 | IPアドレスまたはホスト名を指定します。 |
port1 | 接続先のポート番号を指定します。 |
database_name | データベース名を指定します。 |
targetServerType | アプリケーションが接続するサーバの選択順を指定します。 |
sslmode | 通信を暗号化する場合に指定してください。デフォルトは無効に設定されています。 disable:非SSLで接続します。 require:必ずSSLで接続します。 verify-ca:SSLで接続し、信頼できるCAから発行された証明書を使用します。(注) verify-full:SSLで接続し、信頼できるCAから発行された証明書を使用してサーバのホスト名が証明書と一致するかを検証します。(注) |
sslservercertcn | 本パラメータはSSL認証(sslmode=verify-full)を行う場合のみ有効となります。 サーバ証明書のCN(Common Name)を指定します。省略した場合は、nullとなり、hostに指定されたホスト名を使用して、サーバ証明書のCN(Common Name)を認証します。 |
注: “verify-ca”または“verify-full”を指定する場合、CA証明書ファイルを接続文字sslrootcertで指定できます。
DriverManagerクラスのAPIに、以下のURIを指定します。
jdbc:postgresql://host1[:port1],host2[:port2]/database_name[?targetServerType={master | slave | preferSlave | any}][&sslmode=verify-full&sslrootcert=CA証明書ファイル&sslservercertcn=<対象とするサーバ証明書のCN(Common Name)>]
ターゲットサーバを省略した場合は、anyとなります。
IPV6を使用する場合、ホストは[host]の形式で指定してください。
[指定例]
jdbc:postgresql://[2001:Db8::1234]:27500,192.168.1.1:27500/database_name
データソースのプロパティに、以下の形式で指定します。
source.setServerName("host1[:port1],host2[:port2]"); source.setTargetServerType("master"); source.setSslmode("verify-full"); source.setSslrootcert("CA証明書ファイル"); source.setSslservercertcn("<対象とするサーバ証明書のCN(Common Name)>");
ポート番号を省略した場合は、portNumberプロパティに指定された値が使用されます。また、portNumberプロパティが省略されている場合は、27500となります。
ターゲットサーバを省略した場合は、anyとなります。
IPV6を使用する場合、ホストは[host]の形式で指定してください。
[指定例]
source.setServerName("[2001:Db8::1234]:27500,192.168.1.1:27500");
注意
接続パラメータloginTimeoutを利用する場合には、指定したすべてのホストへの接続の試みにかかった時間に対して適用されます。