superapp
BackendDatabases

Supported Databases

Every database supported through Drizzle ORM adapters.

Chat in Claude

@superapp/backend supports every database that Drizzle ORM supports. Each adapter is a thin wrapper around a JavaScript database driver, following the same two-layer architecture used by Drizzle itself.

PostgreSQL

AdapterPackageBest forServerless
node-postgrespgStandard Node.js appsNo
postgres-jspostgresHigh-performance Node.jsNo
Neon (WebSocket)@neondatabase/serverlessNeon with persistent connectionsYes
Neon (HTTP)@neondatabase/serverlessNeon on edge/serverless runtimesYes
Vercel Postgres@vercel/postgresVercel managed PostgresYes
Supabase@supabase/supabase-jsSupabase projectsYes
XataXata HTTP APIXata serverless databaseYes
PGlite@electric-sql/pgliteIn-browser / WASM PostgresYes
AWS Data APIAWS RDS Data APIAurora ServerlessYes
Bun SQLBun.sqlBun runtimeNo

MySQL

AdapterPackageBest forServerless
mysql2mysql2Standard Node.js appsNo
PlanetScale@planetscale/databasePlanetScale serverlessYes
TiDB CloudTiDB serverless driverTiDB CloudYes

SQLite

AdapterPackageBest forServerless
better-sqlite3better-sqlite3Node.js (synchronous, fast)No
LibSQL / Turso@libsql/clientTurso edge databaseYes
Cloudflare D1Cloudflare D1 bindingCloudflare WorkersYes
Durable ObjectsCloudflare DO SQLiteDurable Object storageYes
Bun SQLitebun:sqliteBun runtimeNo
Expo SQLiteexpo-sqliteReact Native (Expo)No
OP-SQLiteop-sqliteReact Native (high-performance)No
sql.jssql.jsIn-browser WASM SQLiteYes

SingleStore

AdapterPackageBest forServerless
SingleStoreSingleStore driverDirect SingleStore connectionNo

Gel (formerly EdgeDB)

AdapterPackageBest forServerless
GelGel clientGel databaseNo

Choosing an Adapter

Pick the adapter that matches your runtime and hosting:

You're deploying to...Use
Node.js + self-hosted Postgresnode-postgres or postgres-js
Vercelvercel-postgres or neon-http
Cloudflare Workersd1 (SQLite) or neon-http (Postgres)
Supabasesupabase
PlanetScaleplanetscale-serverless
Tursolibsql
Bunbun-sql (Postgres) or bun-sqlite (SQLite)
React Nativeexpo-sqlite or op-sqlite
Browserpglite (Postgres) or sql-js (SQLite)
AWS Lambdaaws-data-api or neon-http

Using Non-Default Adapters

The three built-in providers (pg, mysql2, better-sqlite3) work out of the box with a connection string. For any other adapter, register a custom provider following the Drizzle adapter pattern:

import { createEngine } from '@superapp/backend'
import { neonProvider } from './providers/neon'

const engine = createEngine({
  providers: [neonProvider],
  connections: {
    main: { type: 'neon', connectionString: process.env.NEON_URL! },
  },
})

See Custom Providers for full examples with Neon, Cloudflare D1, and HTTP APIs.

On this page