Expand description
Provides the connection pool for asynchronous SQLx connections.
Opening a database connection for each and every operation to the database can quickly become expensive. Furthermore, sharing a database connection between threads and functions can be difficult to express in Rust.
A connection pool is a standard technique that can manage opening and re-using connections. Normally it also enforces a maximum number of connections as these are an expensive resource on the database server.
SQLx provides a canonical connection pool implementation intended to satisfy the majority of use cases.
See [Pool][crate::pool::Pool] for details.
Type aliases are provided for each database to make it easier to sprinkle Pool
through
your codebase:
- [MssqlPool][crate::mssql::MssqlPool] (MSSQL)
- [MySqlPool][crate::mysql::MySqlPool] (MySQL)
- [PgPool][crate::postgres::PgPool] (PostgreSQL)
- [SqlitePool][crate::sqlite::SqlitePool] (SQLite)
§Opening a connection pool
A new connection pool with a default configuration can be created by supplying Pool
with the database driver and a connection string.
use sqlx::Pool;
use sqlx::postgres::Postgres;
let pool = Pool::<Postgres>::connect("postgres://").await?;
For convenience, database-specific type aliases are provided:
use sqlx::mssql::MssqlPool;
let pool = MssqlPool::connect("mssql://").await?;
§Using a connection pool
A connection pool implements [Executor
][crate::executor::Executor] and can be used directly
when executing a query. Notice that only an immutable reference (&Pool
) is needed.
sqlx::query("DELETE FROM articles").execute(&pool).await?;
A connection or transaction may also be manually acquired with
Pool::acquire
or
[Pool::begin
].
Re-exports§
pub use futures_core;
pub use url;
Modules§
Structs§
- Close
Event - A future that resolves when the pool is closed.
- Pool
- An asynchronous pool of connections.
- Pool
Connection - A connection managed by a [
Pool
][crate::pool::Pool]. - Pool
Connection Metadata - Metadata for the connection being processed by a
PoolOptions
callback. - Pool
Options - Configuration options for
Pool
.