Configure connection pooling with Deadpool, BB8, or Mobc
mainDiesel-async supports several connection pooling crates via the AsyncDieselConnectionManager.
Deadpool
Requires the deadpool feature. Use Pool::builder(config).build()?.
BB8
Requires the bb8 feature. Use Pool::builder().build(config).await?.
Mobc
Requires the mobc feature. Use Pool::new(config).
// Deadpool example
use diesel_async::pooled_connection::AsyncDieselConnectionManager;
use diesel_async::pooled_connection::deadpool::Pool;
use diesel_async::RunQueryDsl;
let config = AsyncDieselConnectionManager::<diesel_async::AsyncPgConnection>::new(std::env::var("DATABASE_URL")?);
let pool = Pool::builder(config).build()?;
let mut conn = pool.get().await?;
let res = users::table.select(User::as_select()).load::(&mut conn).await?;