SQLx + PostgreSQL v17 database guide. Queries, migrations, ENUMs, JSONB, transactions.
// query_as! (type-safe)
let user = sqlx::query_as!(
User,
r#"SELECT id, name, email, role as "role: UserRole" FROM users WHERE id = $1"#,
id
).fetch_one(&pool).await?;
// Single column
let count = sqlx::query_scalar!("SELECT COUNT(*) FROM users WHERE active = true")
.fetch_one(&pool).await?;
// INSERT/UPDATE/DELETE