pub struct Config {
Show 17 fields pub user: Option<String>, pub password: Option<String>, pub dbname: Option<String>, pub options: Option<String>, pub application_name: Option<String>, pub ssl_mode: Option<SslMode>, pub host: Option<String>, pub hosts: Option<Vec<String>>, pub port: Option<u16>, pub ports: Option<Vec<u16>>, pub connect_timeout: Option<Duration>, pub keepalives: Option<bool>, pub keepalives_idle: Option<Duration>, pub target_session_attrs: Option<TargetSessionAttrs>, pub channel_binding: Option<ChannelBinding>, pub manager: Option<ManagerConfig>, pub pool: Option<PoolConfig>,
}
Expand description

Configuration object.

Example (from environment)

By enabling the serde feature you can read the configuration using the config crate as following:

PG__HOST=pg.example.com
PG__USER=john_doe
PG__PASSWORD=topsecret
PG__DBNAME=example
PG__POOL__MAX_SIZE=16
PG__POOL__TIMEOUTS__WAIT__SECS=5
PG__POOL__TIMEOUTS__WAIT__NANOS=0
#[derive(serde::Deserialize, serde::Serialize)]
struct Config {
    pg: deadpool_postgres::Config,
}
impl Config {
    pub fn from_env() -> Result<Self, config::ConfigError> {
        let mut cfg = config::Config::new();
        cfg.merge(config::Environment::new().separator("__")).unwrap();
        cfg.try_into()
    }
}

Fields

user: Option<String>password: Option<String>dbname: Option<String>options: Option<String>application_name: Option<String>ssl_mode: Option<SslMode>host: Option<String>

This is similar to Config::hosts but only allows one host to be specified.

Unlike tokio_postgres::Config this structure differentiates between one host and more than one host. This makes it possible to store this configuration in an environment variable.

See tokio_postgres::Config::host.

hosts: Option<Vec<String>>port: Option<u16>

This is similar to Config::ports but only allows one port to be specified.

Unlike tokio_postgres::Config this structure differentiates between one port and more than one port. This makes it possible to store this configuration in an environment variable.

See tokio_postgres::Config::port.

ports: Option<Vec<u16>>connect_timeout: Option<Duration>keepalives: Option<bool>keepalives_idle: Option<Duration>target_session_attrs: Option<TargetSessionAttrs>channel_binding: Option<ChannelBinding>manager: Option<ManagerConfig>

Manager configuration.

pool: Option<PoolConfig>

Pool configuration.

Implementations

Create a new Config instance with default values. This function is identical to Config::default().

Creates a new Pool using this Config.

Errors

See CreatePoolError for details.

Creates a new PoolBuilder using this Config.

Errors

See ConfigError and tokio_postgres::Error for details.

Returns tokio_postgres::Config which can be used to connect to the database.

Returns ManagerConfig which can be used to construct a deadpool::managed::Pool instance.

Returns deadpool::managed::PoolConfig which can be used to construct a deadpool::managed::Pool instance.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

Should always be Self

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.