Class NpgsqlConnectionStringBuilder
Provides a simple way to create and manage the contents of connection strings used by the NpgsqlConnection class.
Implements
Inherited Members
Namespace: Npgsql
Assembly: Npgsql.dll
Syntax
public sealed class NpgsqlConnectionStringBuilder : DbConnectionStringBuilder, IDictionary, ICollection, ICustomTypeDescriptor, IDictionary<string, object>, ICollection<KeyValuePair<string, object>>, IEnumerable<KeyValuePair<string, object>>, IEnumerable
Constructors
NpgsqlConnectionStringBuilder()
Initializes a new instance of the NpgsqlConnectionStringBuilder class.
Declaration
public NpgsqlConnectionStringBuilder()
NpgsqlConnectionStringBuilder(Boolean)
Initializes a new instance of the NpgsqlConnectionStringBuilder class, optionally using ODBC rules for quoting values.
Declaration
public NpgsqlConnectionStringBuilder(bool useOdbcRules)
Parameters
Type | Name | Description |
---|---|---|
Boolean | useOdbcRules | true to use {} to delimit fields; false to use quotation marks. |
NpgsqlConnectionStringBuilder(String)
Initializes a new instance of the NpgsqlConnectionStringBuilder class and sets its ConnectionString.
Declaration
public NpgsqlConnectionStringBuilder(string connectionString)
Parameters
Type | Name | Description |
---|---|---|
String | connectionString |
Properties
ApplicationName
The optional application name parameter to be sent to the backend during connection initiation.
Declaration
[NpgsqlConnectionStringProperty]
public string ApplicationName { get; set; }
Property Value
Type | Description |
---|---|
String |
ArrayNullabilityMode
Configure the way arrays of value types are returned when requested as object instances.
Declaration
[NpgsqlConnectionStringProperty]
public ArrayNullabilityMode ArrayNullabilityMode { get; set; }
Property Value
Type | Description |
---|---|
ArrayNullabilityMode |
AutoPrepareMinUsages
The minimum number of usages an SQL statement is used before it's automatically prepared. Defaults to 5.
Declaration
[NpgsqlConnectionStringProperty]
public int AutoPrepareMinUsages { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
BackendTimeouts
Obsolete, see https://www.npgsql.org/doc/release-notes/3.1.html
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The BackendTimeouts parameter is no longer supported")]
public bool BackendTimeouts { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
CancellationTimeout
The time to wait (in milliseconds) while trying to read a response for a cancellation request for a timed out or cancelled query, before terminating the attempt and generating an error. Zero for infinity, -1 to skip the wait. Defaults to 2000 milliseconds.
Declaration
[NpgsqlConnectionStringProperty]
public int CancellationTimeout { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
CheckCertificateRevocation
Whether to check the certificate revocation list during authentication. False by default.
Declaration
[NpgsqlConnectionStringProperty]
public bool CheckCertificateRevocation { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
ClientCertificate
Location of a client certificate to be sent to the server.
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("Use NpgsqlConnectionStringBuilder.SslKey instead")]
public string ClientCertificate { get; set; }
Property Value
Type | Description |
---|---|
String |
ClientCertificateKey
Key for a client certificate to be sent to the server.
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("Use NpgsqlConnectionStringBuilder.SslPassword instead")]
public string ClientCertificateKey { get; set; }
Property Value
Type | Description |
---|---|
String |
ClientEncoding
Gets or sets the client_encoding parameter.
Declaration
[NpgsqlConnectionStringProperty]
public string ClientEncoding { get; set; }
Property Value
Type | Description |
---|---|
String |
CommandTimeout
The time to wait (in seconds) while trying to execute a command before terminating the attempt and generating an error. Defaults to 30 seconds.
Declaration
[NpgsqlConnectionStringProperty]
public int CommandTimeout { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
ConnectionIdleLifetime
The time to wait before closing idle connections in the pool if the count of all connections exceeds MinPoolSize.
Declaration
[NpgsqlConnectionStringProperty]
public int ConnectionIdleLifetime { get; set; }
Property Value
Type | Description |
---|---|
Int32 | The time (in seconds) to wait. The default value is 300. |
ConnectionLifetime
The total maximum lifetime of connections (in seconds). Connections which have exceeded this value will be destroyed instead of returned from the pool. This is useful in clustered configurations to force load balancing between a running server and a server just brought online.
Declaration
[NpgsqlConnectionStringProperty(new string[]{"Load Balance Timeout"})]
public int ConnectionLifetime { get; set; }
Property Value
Type | Description |
---|---|
Int32 | The time (in seconds) to wait, or 0 to to make connections last indefinitely (the default). |
ConnectionPruningInterval
How many seconds the pool waits before attempting to prune idle connections that are beyond idle lifetime (ConnectionIdleLifetime.
Declaration
[NpgsqlConnectionStringProperty]
public int ConnectionPruningInterval { get; set; }
Property Value
Type | Description |
---|---|
Int32 | The interval (in seconds). The default value is 10. |
ContinuousProcessing
Obsolete, see https://www.npgsql.org/doc/release-notes/3.1.html
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The ContinuousProcessing parameter is no longer supported.")]
public bool ContinuousProcessing { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
ConvertInfinityDateTime
Obsolete, see https://www.npgsql.org/doc/release-notes/6.0.html
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The ConvertInfinityDateTime parameter is no longer supported.")]
public bool ConvertInfinityDateTime { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Database
The PostgreSQL database to connect to.
Declaration
[NpgsqlConnectionStringProperty(new string[]{"DB"})]
public string Database { get; set; }
Property Value
Type | Description |
---|---|
String |
EnableFdwAcs
Gets or sets the postgres_scaleout_fdw target server.
Declaration
[NpgsqlConnectionStringProperty]
public string EnableFdwAcs { get; set; }
Property Value
Type | Description |
---|---|
String |
Encoding
Gets or sets the .NET encoding that will be used to encode/decode PostgreSQL string data.
Declaration
[NpgsqlConnectionStringProperty]
public string Encoding { get; set; }
Property Value
Type | Description |
---|---|
String |
Enlist
Whether to enlist in an ambient TransactionScope.
Declaration
[NpgsqlConnectionStringProperty]
public bool Enlist { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
EntityAdminDatabase
The database admin to specify when creating and dropping a database in Entity Framework. This is needed because Npgsql needs to connect to a database in order to send the create/drop database command. If not specified, defaults to "template1". Check NpgsqlServices.UsingPostgresDBConnection for more information.
Declaration
[NpgsqlConnectionStringProperty]
public string EntityAdminDatabase { get; set; }
Property Value
Type | Description |
---|---|
String |
EntityTemplateDatabase
The database template to specify when creating a database in Entity Framework. If not specified, PostgreSQL defaults to "template1".
Declaration
[NpgsqlConnectionStringProperty]
public string EntityTemplateDatabase { get; set; }
Property Value
Type | Description |
---|---|
String |
Remarks
Host
The hostname or IP address of the PostgreSQL server to connect to.
Declaration
[NpgsqlConnectionStringProperty(new string[]{"Server"})]
public string Host { get; set; }
Property Value
Type | Description |
---|---|
String |
HostRecheckSeconds
Controls for how long the host's cached state will be considered as valid.
Declaration
[NpgsqlConnectionStringProperty]
public int HostRecheckSeconds { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
IncludeErrorDetail
When enabled, PostgreSQL error details are included on Detail and Detail. These can contain sensitive data.
Declaration
[NpgsqlConnectionStringProperty]
public bool IncludeErrorDetail { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
IncludeErrorDetails
When enabled, PostgreSQL error details are included on Detail and Detail. These can contain sensitive data.
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("Use NpgsqlConnectionStringBuilder.IncludeErrorDetail instead")]
public bool IncludeErrorDetails { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
IncludeRealm
The Kerberos realm to be used for authentication.
Declaration
[NpgsqlConnectionStringProperty]
public bool IncludeRealm { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
IntegratedSecurity
Whether to use Windows integrated security to log in.
Declaration
[NpgsqlConnectionStringProperty]
public bool IntegratedSecurity { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
InternalCommandTimeout
The time to wait (in seconds) while trying to execute a an internal command before terminating the attempt and generating an error.
Declaration
[NpgsqlConnectionStringProperty]
public int InternalCommandTimeout { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Item[String]
Gets or sets the value associated with the specified key.
Declaration
public override object this[string keyword] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
String | keyword | The key of the item to get or set. |
Property Value
Type | Description |
---|---|
Object | The value associated with the specified key. |
Overrides
KeepAlive
The number of seconds of connection inactivity before Npgsql sends a keepalive query. Set to 0 (the default) to disable.
Declaration
[NpgsqlConnectionStringProperty]
public int KeepAlive { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
KerberosServiceName
The Kerberos service name to be used for authentication.
Declaration
[NpgsqlConnectionStringProperty(new string[]{"Krbsrvname"})]
public string KerberosServiceName { get; set; }
Property Value
Type | Description |
---|---|
String |
Keys
Gets an ICollection containing the keys of the NpgsqlConnectionStringBuilder.
Declaration
public ICollection<string> Keys { get; }
Property Value
Type | Description |
---|---|
ICollection<String> |
LoadBalanceHosts
Enables balancing between multiple hosts by round-robin.
Declaration
[NpgsqlConnectionStringProperty]
public bool LoadBalanceHosts { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
LoadTableComposites
Load table composite type definitions, and not just free-standing composite types.
Declaration
[NpgsqlConnectionStringProperty]
public bool LoadTableComposites { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
LogParameters
When enabled, parameter values are logged when commands are executed. Defaults to false.
Declaration
[NpgsqlConnectionStringProperty]
public bool LogParameters { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
MaxAutoPrepare
The maximum number SQL statements that can be automatically prepared at any given point. Beyond this number the least-recently-used statement will be recycled. Zero (the default) disables automatic preparation.
Declaration
[NpgsqlConnectionStringProperty]
public int MaxAutoPrepare { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
MaxPoolSize
The maximum connection pool size.
Declaration
[NpgsqlConnectionStringProperty]
public int MaxPoolSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
MinPoolSize
The minimum connection pool size.
Declaration
[NpgsqlConnectionStringProperty]
public int MinPoolSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Multiplexing
Enables multiplexing, which allows more efficient use of connections.
Declaration
[NpgsqlConnectionStringProperty]
public bool Multiplexing { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
NoResetOnClose
If set to true, a pool connection's state won't be reset when it is closed (improves performance). Do not specify this unless you know what you're doing.
Declaration
[NpgsqlConnectionStringProperty]
public bool NoResetOnClose { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Options
Set PostgreSQL configuration parameter default values for the connection.
Declaration
[NpgsqlConnectionStringProperty]
public string Options { get; set; }
Property Value
Type | Description |
---|---|
String |
Passfile
Path to a PostgreSQL password file (PGPASSFILE), from which the password would be taken.
Declaration
[NpgsqlConnectionStringProperty]
public string Passfile { get; set; }
Property Value
Type | Description |
---|---|
String |
Password
The password to connect with. Not required if using IntegratedSecurity.
Declaration
[NpgsqlConnectionStringProperty(new string[]{"PSW", "PWD"})]
public string Password { get; set; }
Property Value
Type | Description |
---|---|
String |
PersistSecurityInfo
Gets or sets a Boolean value that indicates if security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state.
Declaration
[NpgsqlConnectionStringProperty]
public bool PersistSecurityInfo { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Pooling
Whether connection pooling should be used.
Declaration
[NpgsqlConnectionStringProperty]
public bool Pooling { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Port
The TCP/IP port of the PostgreSQL server.
Declaration
[NpgsqlConnectionStringProperty]
public int Port { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
PreloadReader
Obsolete, see https://www.npgsql.org/doc/release-notes/3.0.html
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The PreloadReader parameter is no longer supported")]
public bool PreloadReader { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
ReadBufferSize
Determines the size of the internal buffer Npgsql uses when reading. Increasing may improve performance if transferring large values from the database.
Declaration
[NpgsqlConnectionStringProperty]
public int ReadBufferSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
RootCertificate
Location of a CA certificate used to validate the server certificate.
Declaration
[NpgsqlConnectionStringProperty]
public string RootCertificate { get; set; }
Property Value
Type | Description |
---|---|
String |
SearchPath
Gets or sets the schema search path.
Declaration
[NpgsqlConnectionStringProperty]
public string SearchPath { get; set; }
Property Value
Type | Description |
---|---|
String |
ServerCompatibilityMode
A compatibility mode for special PostgreSQL server types.
Declaration
[NpgsqlConnectionStringProperty]
public ServerCompatibilityMode ServerCompatibilityMode { get; set; }
Property Value
Type | Description |
---|---|
ServerCompatibilityMode |
SocketReceiveBufferSize
Determines the size of socket read buffer.
Declaration
[NpgsqlConnectionStringProperty]
public int SocketReceiveBufferSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
SocketSendBufferSize
Determines the size of socket send buffer.
Declaration
[NpgsqlConnectionStringProperty]
public int SocketSendBufferSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
SslCertificate
Location of a client certificate to be sent to the server.
Declaration
[NpgsqlConnectionStringProperty]
public string SslCertificate { get; set; }
Property Value
Type | Description |
---|---|
String |
SslKey
Location of a client key for a client certificate to be sent to the server.
Declaration
[NpgsqlConnectionStringProperty]
public string SslKey { get; set; }
Property Value
Type | Description |
---|---|
String |
SslMode
Controls whether SSL is required, disabled or preferred, depending on server support.
Declaration
[NpgsqlConnectionStringProperty]
public SslMode SslMode { get; set; }
Property Value
Type | Description |
---|---|
SslMode |
SslPassword
Password for a key for a client certificate.
Declaration
[NpgsqlConnectionStringProperty]
public string SslPassword { get; set; }
Property Value
Type | Description |
---|---|
String |
TargetSessionAttributes
Determines the preferred PostgreSQL target server type.
Declaration
[NpgsqlConnectionStringProperty]
public string TargetSessionAttributes { get; set; }
Property Value
Type | Description |
---|---|
String |
TcpKeepAlive
Whether to use TCP keepalive with system defaults if overrides isn't specified.
Declaration
[NpgsqlConnectionStringProperty]
public bool TcpKeepAlive { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
TcpKeepAliveInterval
The interval, in seconds, between when successive keep-alive packets are sent if no acknowledgement is received. Defaults to the value of TcpKeepAliveTime. TcpKeepAliveTime must be non-zero as well.
Declaration
[NpgsqlConnectionStringProperty]
public int TcpKeepAliveInterval { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
TcpKeepAliveTime
The number of seconds of connection inactivity before a TCP keepalive query is sent. Use of this option is discouraged, use KeepAlive instead if possible. Set to 0 (the default) to disable.
Declaration
[NpgsqlConnectionStringProperty]
public int TcpKeepAliveTime { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Timeout
The time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error. Defaults to 15 seconds.
Declaration
[NpgsqlConnectionStringProperty]
public int Timeout { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Timezone
Gets or sets the PostgreSQL session timezone, in Olson/IANA database format.
Declaration
[NpgsqlConnectionStringProperty]
public string Timezone { get; set; }
Property Value
Type | Description |
---|---|
String |
TrustServerCertificate
Whether to trust the server certificate without validating it.
Declaration
[NpgsqlConnectionStringProperty]
public bool TrustServerCertificate { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
UseExtendedTypes
Obsolete, see https://www.npgsql.org/doc/release-notes/3.0.html
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The UseExtendedTypes parameter is no longer supported")]
public bool UseExtendedTypes { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
UsePerfCounters
Writes connection performance information to performance counters.
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The UsePerfCounters parameter is no longer supported")]
public bool UsePerfCounters { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Username
The username to connect with. Not required if using IntegratedSecurity.
Declaration
[NpgsqlConnectionStringProperty(new string[]{"User Name", "UserId", "User Id", "UID"})]
public string Username { get; set; }
Property Value
Type | Description |
---|---|
String |
UseSslStream
Obsolete, see https://www.npgsql.org/doc/release-notes/4.1.html
Declaration
[NpgsqlConnectionStringProperty]
[Obsolete("The UseSslStream parameter is no longer supported (always true)")]
public bool UseSslStream { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Values
Gets an ICollection containing the values in the NpgsqlConnectionStringBuilder.
Declaration
public ICollection<object> Values { get; }
Property Value
Type | Description |
---|---|
ICollection<Object> |
WriteBufferSize
Determines the size of the internal buffer Npgsql uses when writing. Increasing may improve performance if transferring large values to the database.
Declaration
[NpgsqlConnectionStringProperty]
public int WriteBufferSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
WriteCoalescingBufferThresholdBytes
When multiplexing is enabled, determines the maximum number of outgoing bytes to buffer before flushing to the network.
Declaration
[NpgsqlConnectionStringProperty]
public int WriteCoalescingBufferThresholdBytes { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
Add(KeyValuePair<String, Object>)
Adds an item to the NpgsqlConnectionStringBuilder.
Declaration
public void Add(KeyValuePair<string, object> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, Object> | item | The key-value pair to be added. |
Clear()
Clears the contents of the NpgsqlConnectionStringBuilder instance.
Declaration
public override void Clear()
Overrides
Contains(KeyValuePair<String, Object>)
Determines whether the NpgsqlConnectionStringBuilder contains a specific key-value pair.
Declaration
public bool Contains(KeyValuePair<string, object> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, Object> | item | The item to locate in the NpgsqlConnectionStringBuilder. |
Returns
Type | Description |
---|---|
Boolean | true if the NpgsqlConnectionStringBuilder contains the entry; otherwise false. |
ContainsKey(String)
Determines whether the NpgsqlConnectionStringBuilder contains a specific key.
Declaration
public override bool ContainsKey(string keyword)
Parameters
Type | Name | Description |
---|---|---|
String | keyword | The key to locate in the NpgsqlConnectionStringBuilder. |
Returns
Type | Description |
---|---|
Boolean | true if the NpgsqlConnectionStringBuilder contains an entry with the specified key; otherwise false. |
Overrides
CopyTo(KeyValuePair<String, Object>[], Int32)
Copies the elements of the NpgsqlConnectionStringBuilder to an Array, starting at a particular Array index.
Declaration
public void CopyTo(KeyValuePair<string, object>[] array, int arrayIndex)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, Object>[] | array | The one-dimensional Array that is the destination of the elements copied from NpgsqlConnectionStringBuilder. The Array must have zero-based indexing. |
Int32 | arrayIndex | The zero-based index in array at which copying begins. |
Equals(Object)
Determines whether the specified object is equal to the current object.
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Overrides
GetEnumerator()
Returns an enumerator that iterates through the NpgsqlConnectionStringBuilder.
Declaration
public IEnumerator<KeyValuePair<string, object>> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<KeyValuePair<String, Object>> |
GetHashCode()
Hash function.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
Overrides
GetProperties(Hashtable)
Declaration
protected override void GetProperties(Hashtable propertyDescriptors)
Parameters
Type | Name | Description |
---|---|---|
Hashtable | propertyDescriptors |
Overrides
Remove(KeyValuePair<String, Object>)
Removes the entry from the DbConnectionStringBuilder instance.
Declaration
public bool Remove(KeyValuePair<string, object> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<String, Object> | item | The key/value pair to be removed from the connection string in this DbConnectionStringBuilder. |
Returns
Type | Description |
---|---|
Boolean | true if the key existed within the connection string and was removed; false if the key did not exist. |
Remove(String)
Removes the entry with the specified key from the DbConnectionStringBuilder instance.
Declaration
public override bool Remove(string keyword)
Parameters
Type | Name | Description |
---|---|---|
String | keyword | The key of the key/value pair to be removed from the connection string in this DbConnectionStringBuilder. |
Returns
Type | Description |
---|---|
Boolean | true if the key existed within the connection string and was removed; false if the key did not exist. |
Overrides
TryGetValue(String, out Object)
Retrieves a value corresponding to the supplied key from this NpgsqlConnectionStringBuilder.
Declaration
public override bool TryGetValue(string keyword, out object value)
Parameters
Type | Name | Description |
---|---|---|
String | keyword | The key of the item to retrieve. |
Object | value | The value corresponding to the key. |
Returns
Type | Description |
---|---|
Boolean | true if keyword was found within the connection string, false otherwise. |
Overrides
Explicit Interface Implementations
IDictionary<String, Object>.Add(String, Object)
Declaration
void IDictionary<string, object>.Add(string keyword, object value)
Parameters
Type | Name | Description |
---|---|---|
String | keyword | |
Object | value |
IDictionary<String, Object>.Item[String]
Declaration
object IDictionary<string, object>.this[string keyword] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
String | keyword |
Returns
Type | Description |
---|---|
Object |