pub struct PostgresTopologyProvider { /* private fields */ }Expand description
PostgreSQL-based topology provider.
Discovers the primary by polling pg_is_in_recovery() on each
configured node. Detects primary changes by comparing results
across polling intervals.
Implementations§
Source§impl PostgresTopologyProvider
impl PostgresTopologyProvider
Sourcepub fn new(nodes: Vec<PostgresNode>) -> Self
pub fn new(nodes: Vec<PostgresNode>) -> Self
Create a new PostgreSQL topology provider.
Sourcepub fn with_poll_interval(self, interval: Duration) -> Self
pub fn with_poll_interval(self, interval: Duration) -> Self
Set polling interval.
Sourcepub fn with_tls_mode(self, mode: TlsMode) -> Self
pub fn with_tls_mode(self, mode: TlsMode) -> Self
Set the TLS policy used when opening probe connections.
Trait Implementations§
Source§impl TopologyProvider for PostgresTopologyProvider
Available on crate feature postgres-topology only.
impl TopologyProvider for PostgresTopologyProvider
Available on crate feature
postgres-topology only.Source§fn subscribe(&self) -> Receiver<TopologyEvent>
fn subscribe(&self) -> Receiver<TopologyEvent>
Subscribe to topology change events.
Source§fn get_primary(&self) -> Option<TopologyNodeInfo>
fn get_primary(&self) -> Option<TopologyNodeInfo>
Get the current primary node, if one exists.
Auto Trait Implementations§
impl !Freeze for PostgresTopologyProvider
impl !RefUnwindSafe for PostgresTopologyProvider
impl Send for PostgresTopologyProvider
impl Sync for PostgresTopologyProvider
impl Unpin for PostgresTopologyProvider
impl UnsafeUnpin for PostgresTopologyProvider
impl !UnwindSafe for PostgresTopologyProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more