Struct deadpool_postgres::Config
source · 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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)