Zum Hauptinhalt springen
Axum Anleitung

Best Databases for Axum (2026)

Compare the best database solutions for Axum. We review PostgreSQL options with SQLx and SeaORM integration.

Axum's async-first design pairs perfectly with async database crates. We've evaluated managed databases that work well with Rust's async ecosystem.

Warum es wichtig ist

Axum runs on tokio, requiring async database access. The right combination delivers excellent performance and ergonomic data access.

Wichtige Überlegungen

01

SQLx Async

SQLx is async-native with compile-time SQL checking. Perfect match for Axum's tokio runtime.

02

State Extension

Pass database pool via Axum State or Extension. Clean access in handlers.

03

SeaORM

SeaORM provides async ORM built on SQLx. Good balance of convenience and performance.

04

Connection Pooling

SQLx includes async pooling. Configure max connections based on workload.

05

Transactions

Use SQLx transactions for multi-query operations. Async-friendly API.

Unsere Empfehlungen

Neon
#1

Neon

Beste Serverless Ausgezeichnet Unterstützung Offizielles SDK

Neon serverless PostgreSQL with SQLx. 512MB free. Scales to zero. Perfect for Axum APIs.

cargo add sqlx --features postgres,runtime-tokio
Supabase
#2

Supabase

Beste Alles-in-Einem Ausgezeichnet Unterstützung Offizielles SDK

Supabase PostgreSQL with SQLx. 500MB free. Auth and storage available if needed.

cargo add sqlx --features postgres
Railway
#3

Railway

Beste mit Hosting Ausgezeichnet Unterstützung Offizielles SDK

Railway provides PostgreSQL alongside Axum hosting. Unified deployment. $5/month credit.

railway add postgresql
Turso
#4

Turso

Beste Edge Ausgezeichnet Unterstützung Offizielles SDK

Turso for edge SQLite. Official Rust SDK with async support. 9GB free. Great for global apps.

cargo add libsql
CockroachDB
#5

CockroachDB

Beste Verteilt Ausgezeichnet Unterstützung Offizielles SDK

CockroachDB for distributed PostgreSQL. SQLx compatible. 5GB free. Global scale.

cargo add sqlx --features postgres

Schnellvergleich

Service TypeScript Edge Kostenlose Stufe Einrichtungszeit
Neon
none 512MB 5 min
Supabase
none 500MB 5 min
Railway
none $5 credit 5 min
Turso
none 9GB 10 min
CockroachDB
none 5GB 10 min

Schnellstart

SQLx with Axum src/main.rs
use axum::{routing::get, Router, extract::State};
use sqlx::postgres::PgPoolOptions;

#[tokio::main]
async fn main() {
    let pool = PgPoolOptions::new()
        .max_connections(5)
        .connect(&std::env::var("DATABASE_URL").unwrap())
        .await
        .unwrap();

    let app = Router::new()
        .route("/users", get(get_users))
        .with_state(pool);

    let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
    axum::serve(listener, app).await.unwrap();
}

async fn get_users(State(pool): State<sqlx::PgPool>) -> String {
    // Query database...
    "users".to_string()
}

Häufige Integrationsmuster

Neon + SQLx + Axum

Serverless PostgreSQL with compile-time checked SQL.

neon

Supabase + SeaORM

Supabase PostgreSQL with SeaORM for rapid development.

supabase

Turso + Axum Edge

Edge SQLite with Axum for global low-latency APIs.

turso

Häufig gestellte Fragen

Which database crate works best with Axum?
SQLx is the best choice. Async-native, compile-time SQL checking, excellent tokio integration. SeaORM builds on SQLx for ORM needs.
How do I share the database pool in Axum?
Use Router::with_state(pool). Extract with State<PgPool> in handlers. Clean, type-safe access.
Can I use Diesel with Axum?
Yes, but Diesel is sync. Use tokio::spawn_blocking or web::block patterns. SQLx is generally better for Axum.
What's the best free database for Axum?
Turso offers 9GB free. CockroachDB offers 5GB. Neon offers 512MB. All work with SQLx/Axum.

Verwandte Anleitungen

Zuletzt aktualisiert: January 11, 2026