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

4.3.3 接続文字列

コネクションには、接続するデータベースへの接続先情報として以下を指定します。

Server=127.0.0.1;Port=27500;Database=mydb;Username=myuser;Password=myuser01;...; 
       (1)            (2)            (3)          (4)             (5)      (6)

  

(1) 接続するサーバのホスト名またはIPアドレスを指定します。必ず指定してください。

(2) データベースサーバのポート番号を指定します。省略した場合は、既定値の27500となります。

(3) 接続するデータベース名を指定します。

(4) データベースに接続するユーザー名を指定します。

(5) データベースに接続するユーザー名のパスワードを指定します。

(6) その他の接続情報の指定方法については、以下の表を参照してください。

  

.NET Data Provider(Npgsql)で接続文字列に指定可能なキーワードを以下に示します。

なお、Oracleデータベース互換機能を利用する場合は、注意が必要な設定があります。“9.2.3 アプリケーション開発用のインタフェースとの連携時の注意事項”を参照してください。

基本接続

キーワード

説明

既定値

Host

接続するサーバのホスト名を指定します。複数のホストを指定することもできます。ホスト名は必ず指定してください。

Port

サーバのTCPポート番号を指定します。

27500

Database

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

Usernameと同じ

Username

データベースに接続するユーザー名を指定します。統合セキュリティを使用する場合は必要ありません。

PGUSER

Password

データベースに接続するユーザー名のパスワードを指定します。統合セキュリティを使用する場合は必要ありません。

PGPASSWORD

Passfile

パスワードを取得する、パスワードファイル(PGPASSFILE)のパスを指定します。

PGPASSFILE

セキュリティと暗号化

キーワード

説明

既定値

SSL Mode

サーバのサポートに応じて、SSLを使用するかどうかを、以下の値から1つ指定します。

Disable:SSL接続は行われません。

Allow:サーバが要求する場合のみSSL接続を行います。

Prefer:可能であればSSL接続を行います。

Require:SSL接続を行います。このとき接続サーバの信頼性は検証しません。これを指定するとき、"Trust Server Certificate=true"を指定する必要があります。

VerifyCA:SSL接続を行います。このとき接続サーバの信頼性を検証します。

VerifyFull: SSL接続を行います。このとき接続サーバの信頼性を検証し、それが指定したサーバであることを確認します。

Prefer

Trust Server Certificate

サーバ証明書を検証しないままサーバを信頼するかどうかを指定します。

false

SSL Certificate

サーバに送信されるクライアント証明書の場所を指定します。

PGSSLCERT

SSL Key

サーバに送信されるクライアント証明書のクライアントキーの場所を指定します。

PGSSLKEY

SSL Password

クライアント証明書のキーのパスワードを指定します。

Root Certificate

サーバ証明書の検証に使用されるCA証明書の場所を指定します。

PGSSLROOTCERT

Check Certificate Revocation

認証時に証明書失効リストを確認するかどうかを指定します。

false

Integrated Security

統合セキュリティ(GSS/SSPI)を使用してログインするかどうかを指定します。

false

Persist Security Info

接続中または接続状態になったことがある場合に、パスワードなどのセキュリティ上重要な情報が接続の一部として返されないかどうかを示すブール値を取得または設定します。

false

Kerberos Service Name

認証に使用されるKerberosサービス名を指定します。

postgres

Include Realm

認証に使用されるKerberosレルムを指定します。

Include Error Detail

有効にすると、データベースのエラーと通知の詳細がPostgresException.DetailとPostgresNotice.Detailに含まれます。これらには機密情報を含めることができます。

false

Log Parameters

有効にすると、コマンドの実行時にパラメータ値がログに記録されます。

false

プーリング

キーワード

説明

既定値

Pooling

接続プーリングを使用するかどうかを指定します。

true

Minimum Pool Size

接続プールの最小サイズです。

0

Maximum Pool Size

接続プールの最大サイズです。

100

Connection Idle Lifetime

すべての接続の数がMinimum Pool Sizeを超えた場合に、プール内 のアイドル状態の接続を切断するまでの待機時間(秒)を指定します。

300

Connection Pruning Interval

存続期間を超えたアイドル接続のプルーニングを試行するまでに、プールが待機する秒数を指定します。Connection Idle Lifetimeを参照してください。

10

ConnectionLifetime

接続の合計最大寿命を秒数で指定します。この値を超えた接続は、プールから返されるのではなく破棄されます。これは、実行中のサーバとオンラインになったばかりのサーバとの間でロードバランシングを強制的に実行するクラスタ構成で役立ちます。

0 (disabled)

タイムアウトとキープアライブ

キーワード

説明

既定値

Timeout

接続の確立中に、試行を終了してエラーを生成するまで待機する時間(秒)を指定します。

15

Command Timeout

コマンドの実行中に、試行を終了してエラーを生成するまでの待機時間(秒)を指定します。無限大の場合は0に設定します。

30

Internal Command Timeout

内部コマンドを実行しようとしたときに、試行を終了してエラーを生成するまでの待機時間(秒)を指定します 。-1はCommandTimeoutを使用し、0はタイムアウトなしを意味します。

-1

Cancellation Timeout

タイムアウトまたはキャンセルされたクエリのキャンセル要求に対する応答を読み取ろうとしている間に、試行を終了してエラーを生成するまでの待機時間(ミリ秒)を指定します。-1は待機をスキップし、0は無限待機を意味します。

2000

Keepalive

接続の非アクティブ状態がここで指定した秒数を超えると、Npgsqlが キープアライブクエリを送信します。

0 (disabled)

Tcp Keepalive

オーバーライドが指定されていない場合に、システムデフォルトでTCPキープアライブを使用するかどうかを指定します。

false

Tcp Keepalive Time

接続の非アクティブ時間がここで指定したミリ秒数を超えると、TCPキープアライブクエリが送信されます。このオプションの使用は推奨されません。Keepaliveの使用を推奨します。これはWindowsのみでサポートされています。

0 (disabled)

Tcp Keepalive Interval

確認応答が受信されない場合に連続するキープアライブパケットが送信される間隔(ミリ秒)を指定します。Tcp KeepAlive Timeも0以外にする必要があります。これはWindowsのみでサポートされています。

Tcp Keepalive Timeの値

パフォーマンス

キーワード

説明

既定値

Max Auto Prepare

任意の時点で自動的に準備できるSQL文の最大数です。この値を超えると、最後に使用された文が再利用されます。0を指定すると、自動準備が無効になります。

0

Auto Prepare Min Usages

SQL文の使用回数がここで指定した値を超えると、SQL文が自動的に 準備されます。

5

Read Buffer Size

Npgsqlが読み込み時に使用する内部バッファのサイズです。データベースから大量のデータを転送する場合に、この値を大きくするとパフォーマンスが向上することがあります。

8192

Write Buffer Size

Npgsqlが書き込み時に使用する内部バッファのサイズを決定します。大量のデータをデータベースに転送する場合に、この値を大きくするとパフォーマンスが向上することがあります。

8192

Socket Receive Buffer Size

ソケット受信バッファのサイズです。

システム依存

Socket Send Buffer Size

ソケット送信バッファのサイズです。

システム依存

No Reset On Close

trueのとき、接続がプールに戻されるときに接続状態をリセットしません。場合によっては、これによりリーク状態となる代わりにパフォーマンスが向上します。ベンチマークでパフォーマンスが向上した場合にのみ使用してください。

false

フェイルオーバと負荷分散

キーワード

説明

既定値

Target Session Attributes

優先して接続するサーバタイプを指定します。

any:任意の正常な接続を許容します。

primary:プライマリサーバに接続します。

stanby:スタンバイサーバに接続します。

prefer-primary:まずプライマリサーバに接続を試行しますが、リストされたホストにプライマリサーバがない場合はanyモードで再試行します。

prefer-standby:まずスタンバイサーバに接続を試行しますが、リストされたホストにスタンバイサーバがない場合はanyモードで再試行します。

read-write:デフォルトのトランザクションモードが読み取り/書き込みのサーバに接続します。

read-only:デフォルトのトランザクションモードが読み取り専用のサーバに接続します。

PGTARGETSESSIONATTRS, Any

Load Balance Hosts

ラウンドロビン方式による複数ホスト間の負荷分散を行うかどうかを指定します。

false

Host Recheck Seconds

ホストのキャッシュされた状態が有効と見なされる期間を制御します。

10

Enable Fdw Acs

接続ルーティング機能を使用するとき、データノードの接続先のタイプを切り替えるかどうかをonまたはoffで指定します。"Target Session Attributes=prefer-primary"が指定されているとき、これをonに指定することはできません。

off

その他

キーワード

説明

既定値

Options

有効なデータベース接続オプションを指定します。

(例:Options=-c synchronous_commit=local)

PGOPTIONS

Application Name

接続開始時にバックエンドに送信されるアプリケーション名を指定します。

Enlist

コネクションを、トランザクションスコープで宣言したトランザクションに参加させるかどうかを指定します。

true

Search Path

スキーマ検索パスを設定します。

なし

Client Encoding

client_encodingパラメータを取得または設定します。

PGCLIENTENCODING

Encoding

データベースの文字列データのエンコード/デコードに使用する.NETエンコーディングを取得または設定します。

UTF8

Timezone

セッションのタイムゾーンを取得または設定します。

PGTZ

EF Template Database

Entity Frameworkでデータベースを作成するときに指定するデータベーステンプレートです。

template1

EF Admin Database

Entity Frameworkでデータベースを作成および削除するときに指定する管理データベースです。

template1

Load Table Composites

独立した複合型だけでなく、表の複合型定義をロードするかどうかを指定します。

false

Array Nullability Mode

オブジェクトインスタンスとして要求されたときに値型の配列を返す方法を設定します。使用できる値は以下です。

Never:常にnull入力不可の配列として返します。

Always:常にnull入力可能な配列として返します。

PerInstance:返される配列の方は実行時に決定されます。

Never