22 lines
729 B
Rust
22 lines
729 B
Rust
use crate::{DBCon, DBPool};
|
|
use mobc_postgres::{tokio_postgres, PgConnectionManager};
|
|
use tokio_postgres::{Config, Error, NoTls};
|
|
use std::fs;
|
|
use std::str::FromStr;
|
|
use std::time::Duration;
|
|
|
|
const DB_POOL_MAX_OPEN: u64 = 32;
|
|
const DB_POOL_MAX_IDLE: u64 = 8;
|
|
const DB_POOL_TIMEOUT_SECONDS: u64 = 15;
|
|
|
|
pub fn create_pool() -> std::result::Result<DBPool, mobc::Error<Error>> {
|
|
let config = Config::from_str("postgres://postgres@127.0.0.1:7878/postgres")?;
|
|
|
|
let manager = PgConnectionManager::new(config, NoTls);
|
|
Ok(Pool::builder()
|
|
.max_open(DB_POOL_MAX_OPEN)
|
|
.max_idle(DB_POOL_MAX_IDLE)
|
|
.get_timeout(Some(Duration::from_secs(DB_POOL_TIMEOUT_SECONDS)))
|
|
.build(manager))
|
|
}
|