PoolConfig

Struct PoolConfig 

Source
pub struct PoolConfig {
    pub host: String,
    pub port: u16,
    pub user: String,
    pub database: String,
    pub password: Option<String>,
    pub max_connections: usize,
    pub min_connections: usize,
    pub idle_timeout: Duration,
    pub acquire_timeout: Duration,
    pub connect_timeout: Duration,
    pub max_lifetime: Option<Duration>,
    pub test_on_acquire: bool,
}
Expand description

Connection pool configuration.

Fields§

§host: String

Host address

§port: u16

Port number

§user: String

Username

§database: String

Database name

§password: Option<String>

Password (optional for trust mode)

§max_connections: usize

Maximum number of connections

§min_connections: usize

Minimum number of idle connections to maintain

§idle_timeout: Duration

Maximum time a connection can be idle before being closed

§acquire_timeout: Duration

Maximum time to wait for a connection from the pool

§connect_timeout: Duration

Maximum time to wait when establishing a new connection

§max_lifetime: Option<Duration>

Maximum lifetime of a connection before recycling (None = no limit)

§test_on_acquire: bool

Whether to validate connections with a ping before returning

Implementations§

Source§

impl PoolConfig

Source

pub fn new(host: &str, port: u16, user: &str, database: &str) -> Self

Create a new pool configuration with sensible defaults.

Source

pub fn password(self, password: &str) -> Self

Set password for authentication.

Source

pub fn max_connections(self, max: usize) -> Self

Set maximum connections.

Source

pub fn min_connections(self, min: usize) -> Self

Set minimum idle connections.

Source

pub fn idle_timeout(self, timeout: Duration) -> Self

Set idle timeout (connections idle longer than this are closed).

Source

pub fn acquire_timeout(self, timeout: Duration) -> Self

Set acquire timeout (max wait time when getting a connection).

Source

pub fn connect_timeout(self, timeout: Duration) -> Self

Set connect timeout (max time to establish new connection).

Source

pub fn max_lifetime(self, lifetime: Duration) -> Self

Set maximum lifetime of a connection before recycling. After this duration, connection will be closed and recreated.

Source

pub fn test_on_acquire(self, enabled: bool) -> Self

Enable connection validation on acquire. When enabled, connections are tested with a ping before being returned.

Trait Implementations§

Source§

impl Clone for PoolConfig

Source§

fn clone(&self) -> PoolConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V