Class NpgsqlMultiHostDataSource
- Namespace
- Npgsql
- Assembly
- Npgsql.dll
An NpgsqlDataSource which manages connections for multiple hosts, is aware of their states (primary, secondary, offline...) and can perform failover and load balancing across them.
public sealed class NpgsqlMultiHostDataSource : NpgsqlDataSource, IDisposable, IAsyncDisposable
- Inheritance
-
NpgsqlMultiHostDataSource
- Implements
- Inherited Members
Remarks
Methods
Clear()
If the data source pools connections, clears any idle connections and flags any busy connections to be closed as soon as they're returned to the pool.
public override void Clear()
ClearDatabaseStates()
Clears the database state (primary, secondary, offline...) for all data sources managed by this multi-host data source. Can be useful to make Npgsql retry a PostgreSQL instance which was previously detected to be offline.
public void ClearDatabaseStates()
CreateConnection(TargetSessionAttributes)
Returns a new, unopened connection from this data source.
public NpgsqlConnection CreateConnection(TargetSessionAttributes targetSessionAttributes)
Parameters
targetSessionAttributes
TargetSessionAttributesSpecifies the server type (e.g. primary, standby).
Returns
OpenConnection(TargetSessionAttributes)
Returns a new, opened connection from this data source.
public NpgsqlConnection OpenConnection(TargetSessionAttributes targetSessionAttributes)
Parameters
targetSessionAttributes
TargetSessionAttributesSpecifies the server type (e.g. primary, standby).
Returns
OpenConnectionAsync(TargetSessionAttributes, CancellationToken)
Returns a new, opened connection from this data source.
public ValueTask<NpgsqlConnection> OpenConnectionAsync(TargetSessionAttributes targetSessionAttributes, CancellationToken cancellationToken = default)
Parameters
targetSessionAttributes
TargetSessionAttributesSpecifies the server type (e.g. primary, standby).
cancellationToken
CancellationTokenAn optional token to cancel the asynchronous operation. The default value is None.
Returns
WithTargetSession(TargetSessionAttributes)
Returns an NpgsqlDataSource that wraps this multi-host one with the given server type.
public NpgsqlDataSource WithTargetSession(TargetSessionAttributes targetSessionAttributes)
Parameters
targetSessionAttributes
TargetSessionAttributesSpecifies the server type (e.g. primary, standby).