pub struct PoolModeConfig {
pub mode: PoolingMode,
pub max_pool_size: u32,
pub min_idle: u32,
pub idle_timeout_secs: u64,
pub max_lifetime_secs: u64,
pub acquire_timeout_secs: u64,
pub reset_query: String,
pub prepared_statement_mode: PreparedStatementMode,
pub skip_clean_reset: bool,
}Expand description
Pool mode configuration
Fields§
§mode: PoolingModeDefault pooling mode
max_pool_size: u32Maximum connections per node
min_idle: u32Minimum idle connections
idle_timeout_secs: u64Idle timeout (seconds)
max_lifetime_secs: u64Max connection lifetime (seconds)
acquire_timeout_secs: u64Acquire timeout (seconds)
reset_query: StringReset query to run when returning connection to pool
prepared_statement_mode: PreparedStatementModePrepared statement mode
skip_clean_reset: boolConditional reset (Transaction/Statement pooling): when true, a
connection that provably touched no session state (no SET/GUC, temp
table, prepared statement, LISTEN, advisory lock, …) is parked WITHOUT
running reset_query, saving a backend round-trip per clean transaction.
Classification is conservative — anything not provably session-neutral
still runs the full reset — so a misclassification only ever costs an
unnecessary reset, never leaks state. Off by default; intended for
autocommit / simple-protocol workloads. See the stmt_leaves_session_state
classifier for the exact (documented) limitation around session-setting
user functions.
Implementations§
Source§impl PoolModeConfig
impl PoolModeConfig
Sourcepub fn session_mode() -> Self
pub fn session_mode() -> Self
Create config for session mode
Sourcepub fn transaction_mode() -> Self
pub fn transaction_mode() -> Self
Create config for transaction mode
Sourcepub fn statement_mode() -> Self
pub fn statement_mode() -> Self
Create config for statement mode
Sourcepub fn idle_timeout(&self) -> Duration
pub fn idle_timeout(&self) -> Duration
Get idle timeout as Duration
Sourcepub fn max_lifetime(&self) -> Duration
pub fn max_lifetime(&self) -> Duration
Get max lifetime as Duration
Sourcepub fn acquire_timeout(&self) -> Duration
pub fn acquire_timeout(&self) -> Duration
Get acquire timeout as Duration
Trait Implementations§
Source§impl Clone for PoolModeConfig
impl Clone for PoolModeConfig
Source§fn clone(&self) -> PoolModeConfig
fn clone(&self) -> PoolModeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PoolModeConfig
impl Debug for PoolModeConfig
Source§impl Default for PoolModeConfig
impl Default for PoolModeConfig
Source§impl<'de> Deserialize<'de> for PoolModeConfig
impl<'de> Deserialize<'de> for PoolModeConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PoolModeConfig
impl RefUnwindSafe for PoolModeConfig
impl Send for PoolModeConfig
impl Sync for PoolModeConfig
impl Unpin for PoolModeConfig
impl UnsafeUnpin for PoolModeConfig
impl UnwindSafe for PoolModeConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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