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

10.2.2 ODBCドライバを利用する場合

接続文字列またはデータソースに、以下の情報を設定します。

表10.2 設定する情報

パラメータ

説明

Servername

カンマ区切りでIPアドレス1およびIPアドレス2、またはホスト名を指定します。
ODBCの規約に基づいて、カンマ区切りを含む文字列全体を{}で囲むことを推奨します。

指定形式:{host1,host2}

Port

カンマ区切りで接続先のポート番号を指定します。
ODBCの規約に基づいて、カンマ区切りを含む文字列全体を{}で囲むことを推奨します。

指定形式: {port1,port2}

Servernameのn番目に指定したIPアドレスまたはホストに対応するポート番号は、Portのn番目に指定してください。

ポート番号は省略できます。省略した場合には、27500になります。

Servernameをn個指定し、Portをm個指定した場合は、エラーとなります。ただし、m=nまたはmが1の場合は、エラーとなりません。また、Portを1つだけ指定した場合は、Servernameに指定したすべてのIPアドレスまたはホスト名に対して、同じポート番号が適用されます。

target_session_attrs

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

SSLMode

通信を暗号化する場合に指定してください。デフォルトは無効に設定されています。
SSLModeの設定値は以下のとおりです。

disable:非SSLで接続します。

allow:非SSLで接続し、失敗したらSSLで接続します。

prefer:SSLで接続し、失敗したら非SSLで接続します。

require:必ずSSLで接続します。

verify-ca:SSLで接続し、信頼できるCAから発行された証明書を使用します。(注)

verify-full:SSLで接続し、信頼できるCAから発行された証明書を使用してサーバのホスト名が証明書と一致するかを検証します。(注)

SSLServerCertCN

本パラメータはSSL認証(SSLMode=verify-full)を行う場合のみ、有効となります。

サーバ証明書のCN(Common Name)を指定します。省略した場合は、nullとなり、Servernameに指定されたホスト名を使用してサーバ証明書のCN(Common Name)を認証します。

注: “verify-ca”または“verify-full”を指定する場合、CA証明書ファイルをOSのシステム環境変数PGSSLROOTCERTで以下のように指定してください。

例)
変数名: PGSSLROOTCERT
変数値: CA証明書ファイル


接続文字列を指定する場合

以下の接続文字列を指定します。

...;Servername={host1,host2};Port={port1,port2};[ target_session_attrs={read-write | prefer-read | any}];[ SSLMode=verify-full;SSLServerCertCN=<対象とするサーバ証明書のCN(Common Name)>]...
  • IPV6を使用する場合、ホストはhostの形式で指定してください。

    [指定例]

    Servername={2001:Db8::1234,192.168.1.1};Port={27500,27500};

データソースを使用する場合

以下の形式で指定します。

Servername={host1,host2}
Port={port1,port2}
target_session_attrs={read-write | prefer-read | any }
SSLMode=verify-full 
SSLServerCertCN=<対象とするサーバ証明書のCN(Common Name)>
  • IPV6を使用する場合、ホストはhostの形式で指定してください。

    [指定例]

    Servername={2001:Db8::1234,192.168.1.1}

ODBCデータソースアドミニストレータからのデータソース登録

ODBCデータソースアドミニストレータでは、以下のように指定します。


注意

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