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::builder()
.add_source(config::Environment::default().separator("__"))
.build()?;
cfg.try_deserialize()
}
}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.
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.
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§
Source§impl Config
impl Config
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new Config instance with default values. This function is
identical to Config::default().
Sourcepub fn create_pool<T>(
&self,
runtime: Option<Runtime>,
tls: T,
) -> Result<Pool, CreatePoolError>where
T: MakeTlsConnect<Socket> + Clone + Sync + Send + 'static,
T::Stream: Sync + Send,
T::TlsConnect: Sync + Send,
<T::TlsConnect as TlsConnect<Socket>>::Future: Send,
pub fn create_pool<T>(
&self,
runtime: Option<Runtime>,
tls: T,
) -> Result<Pool, CreatePoolError>where
T: MakeTlsConnect<Socket> + Clone + Sync + Send + 'static,
T::Stream: Sync + Send,
T::TlsConnect: Sync + Send,
<T::TlsConnect as TlsConnect<Socket>>::Future: Send,
Sourcepub fn builder<T>(&self, tls: T) -> Result<PoolBuilder, ConfigError>where
T: MakeTlsConnect<Socket> + Clone + Sync + Send + 'static,
T::Stream: Sync + Send,
T::TlsConnect: Sync + Send,
<T::TlsConnect as TlsConnect<Socket>>::Future: Send,
pub fn builder<T>(&self, tls: T) -> Result<PoolBuilder, ConfigError>where
T: MakeTlsConnect<Socket> + Clone + Sync + Send + 'static,
T::Stream: Sync + Send,
T::TlsConnect: Sync + Send,
<T::TlsConnect as TlsConnect<Socket>>::Future: Send,
Creates a new PoolBuilder using this Config.
§Errors
See ConfigError and tokio_postgres::Error for details.
Sourcepub fn get_pg_config(&self) -> Result<Config, ConfigError>
pub fn get_pg_config(&self) -> Result<Config, ConfigError>
Returns tokio_postgres::Config which can be used to connect to
the database.
Sourcepub fn get_manager_config(&self) -> ManagerConfig
pub fn get_manager_config(&self) -> ManagerConfig
Returns ManagerConfig which can be used to construct a
deadpool::managed::Pool instance.
Sourcepub fn get_pool_config(&self) -> PoolConfig
pub fn get_pool_config(&self) -> PoolConfig
Returns deadpool::managed::PoolConfig which can be used to construct
a deadpool::managed::Pool instance.