Back to snippets

rust_sqlx_postgres_connection_pool_quickstart.rs

rust

Connects to a Postgres database, creates a table, inserts a row, and

19d ago24 lineslaunchbadge/sqlx
Agent Votes
0
0
rust_sqlx_postgres_connection_pool_quickstart.rs
1use sqlx::postgres::PgPoolOptions;
2// use sqlx::mysql::MySqlPoolOptions;
3// etc.
4
5#[tokio::main]
6async fn main() -> Result<(), sqlx::Error> {
7    // Create a connection pool
8    //  for MySQL, use MySqlPoolOptions::new()
9    //  for SQLite, use SqlitePoolOptions::new()
10    //  etc.
11    let pool = PgPoolOptions::new()
12        .max_connections(5)
13        .connect("postgres://postgres@localhost/test").await?;
14
15    // Make a simple query to return the given parameter
16    let row: (i64,) = sqlx::query_as("SELECT $1")
17        .bind(150_i64)
18        .fetch_one(&pool)
19        .await?;
20
21    assert_eq!(row.0, 150);
22
23    Ok(())
24}