コネクションには、接続するデータベースへの接続先情報として以下を指定します。
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.2 アプリケーション開発用のインタフェースとの連携時の注意事項”を参照してください。
キーワード | 既定値 | 説明 |
---|---|---|
Host | なし | 接続するサーバのホスト名またはIPアドレスを指定します。 ホスト名を指定する場合、63バイト以内で指定してください。 ホスト名、またはIPアドレスは、必ず指定してください。 |
Port | 27500 | データベースサーバのポート番号を指定します。 |
Username | なし | データベースに接続するユーザー名を指定します。統合セキュリティを使用する場合は必要ありません。 |
Password | なし | データベースに接続するユーザー名のパスワードを指定します。統合セキュリティを使用する場合は必要ありません。 |
Database | ユーザー名 | 接続するデータベース名を指定します。 |
SearchPath | アプリケーションで使用するSQL文のデフォルトスキーマ名を指定します。 | |
Timeout | 15 | 接続時のタイムアウト時間を指定します。 単位は秒で、0~1024の値を指定します。0を指定した場合は無制限です。指定された時間内にコネクションが接続できなかった場合はエラーとなります。 |
Connection Idle Lifetime | 300 | すべての接続の数がMinimum Pool Sizeを超えた場合に、プール内のアイドル状態の接続を切断するまでの待機時間を指定します。 |
Pooling | true | コネクションをプーリングするかどうかを指定します。 trueが指定された場合、コネクションをプーリングします。 falseが指定された場合、コネクションをプーリングしません。 |
Maximum Pool Size | 100 | 接続プールの最大サイズです。接続プールの最大サイズを超える要求が発生した場合は、接続がプールに返却されるまで待たされます。 0~1024の範囲で指定してください。 |
Minimum Pool Size | 1 | 接続プールの最小サイズです。Minimum Pool Sizeが指定されると、NpgsqlConnectionは指定された数だけサーバとの接続を事前に割り当てます。 0からMaximum Pool Sizeで指定した値の範囲で指定してください。 |
SSL Mode | Disable | SSL 接続制御モードで以下の値の中の1つを指定します。 Prefer:可能であればSSLを使用して接続します。 Require:SSL接続ができない場合、例外が投げられます。 Disable:SSL接続は行われません。 |
Enlist | false | コネクションを、トランザクションスコープで宣言したトランザクションに参加させるかどうかを指定します。 trueが指定された場合、コネクションをトランザクションに参加させます。 falseが指定された場合、コネクションをトランザクションに参加させません。 |
CommandTimeout | 30 | サーバとの通信時のタイムアウト時間を指定します。 単位は秒で、0~2147483647の値を指定します。0を指定した場合は、無制限です。指定された時間内にサーバからのデータが受信できなかった場合は、エラーとなります。 |
IntegratedSecurity | false | Windows 統合セキュリティを使用する際に設定します。 |
Trust Server Certificate | false | サーバ証明書を検証せずに信頼するかどうかを指定します。 |
Use SSL Stream | false | NpgsqlはTLS/SSLの独自の内部実装を使用しますが、.NET SslStreamを代わりに使用する場合には、trueを指定します。 |
Check Certificate Revocation | false | 認証中に証明書失効リストをチェックするかどうかを指定します。 |
Persist Security Info | false | 接続中または接続状態になったことがある場合に、パスワードなどの機密情報が接続の一部として返却されないかを示すブール値を取得または設定します。 |
Kerberos Service Name | postgres | 認証に使用されるKerberosサービス名です。 |
Include Realm | 認証に使用されるKerberosレルムです。 | |
Connection Pruning Interval | 10 | すでに寿命となったアイドル状態の接続に対して、接続を減らすために、プールが待機する秒数を指定します。 |
Internal Command Timeout | -1 | 内部コマンドの試行を終了してエラーを生成するまでにコマンド実行で待機する秒単位の時間です。-1の場合はCommand Timeoutを使用し、0はタイムアウトなしを意味します。 |
Keepalive | disabled | 接続の非アクティブ状態がここで指定した秒数を超えると、Npgsqlがキープアライブクエリを送信します。 |
Tcp Keepalive Time | disabled | 接続の非アクティブ時間がここで指定したミリ秒数を超えると、TCPキープアライブクエリが送信されます。このオプションの使用は推奨されません。Keepaliveの使用を推奨します。このキーワードは、Windows(R)のみでサポートされています。 |
Tcp Keepalive Interval | Tcp Keepalive Time | 確認応答が受信されない場合に、連続するキープアライブパケットが送信されるミリ秒単位の間隔です。Tcp Keepalive Timeも0以外でなければなりません。このキーワードは、Windows(R)のみでサポートされています。 |
Application Name | 接続開始時にバックエンドに送信されるアプリケーション名です。 | |
Client Encoding | client_encodingパラメータを設定します。 | |
EF Template Database | template1 | Entity Frameworkでデータベースを作成するときに指定するデータベーステンプレートです。 |
Max Auto Prepare | 0 | 特定の時点で自動的に作成できるSQL文の最大数です。この値を超えた場合には、最も最近に使用されたSQL文が再利用されます。0の場合は自動準備が無効になります。 |
Auto Prepare Min Usages | 5 | SQL文の使用回数がここで指定した値を超えると、SQL文が自動的に準備されます。 |
Use Perf Counters | false | このキーワードを指定すると、Npgsqlは接続使用に関する性能情報をWindowsパフォーマンスカウンターに書き込みます。Windows(R)のみでサポートされています。 パフォーマンスカウンターを使用するには、事前に、Windows(R)にNpgsqlのMSIをインストールし、パフォーマンスカウンターオプションがインストールされていることを確認します。 さらに、接続文字列で"Use Perf Counters = true"を指定する必要があります。その後、Npgsqlアプリケーションを起動すると、パフォーマンスモニタにリアルタイムデータが表示されるようになります。 |
Read Buffer Size | 8192 | Npgsqlが読み込み時に使用する内部バッファのサイズです。この値を大きくすると、データベースから大量データを転送する際にパフォーマンスが向上する可能性があります。 |
Write Buffer Size | 8192 | Npgsqlが書き込み時に使用する内部バッファのサイズです。この値を大きくすると、データベースに大量なデータを転送する際に、パフォーマンスが向上する可能性があります。 |
Socket Receive Buffer Size | システムに依存 | ソケット受信バッファのサイズです。 |
Socket Send Buffer Size | システムに依存 | ソケット送信バッファのサイズです。 |