[−][src]Crate deadpool_postgres
Deadpool for PostgreSQL
Deadpool is a dead simple async pool for connections and objects of any type.
This crate implements a deadpool
manager for tokio-postgres
and also provides a statement
cache by wrapping tokio_postgres::Client
and tokio_postgres::Transaction
.
Features
Feature | Description | Extra dependencies | Default |
---|---|---|---|
config | Enable support for config crate | config , serde/derive | yes |
Example
use deadpool_postgres::{Config, Manager, Pool}; use tokio_postgres::{NoTls}; #[tokio::main] async fn main() { let mut cfg = Config::from_env("PG").unwrap(); let pool = cfg.create_pool(NoTls).unwrap(); for i in 1..10 { let mut client = pool.get().await.unwrap(); let stmt = client.prepare("SELECT 1 + $1").await.unwrap(); let rows = client.query(&stmt, &[&i]).await.unwrap(); let value: i32 = rows[0].get(0); assert_eq!(value, i + 1); } }
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Structs
ClientWrapper | A wrapper for |
Config | Configuration object. By enabling the |
Manager | The manager for creating and recyling postgresql connections |
StatementCache | This structure holds the cached statements and provides access to functions for retrieving the current size and clearing the cache. |
Transaction | A wrapper for |
Type Definitions
Client | A type alias for using |
Pool | A type alias for using |
PoolError | A type alias for using |