Skip to content
POSTGRES

Real Postgres.
Ready in one click.

A Postgres 16 database for every project, with connection pooling, nightly backups and a built-in explorer. Plain SQL, any ORM, no lock-in.

Postgres 16 PgBouncer pooling Nightly backups
POSTGRES · LIVE
POOLpg 1602:00
16Postgres version, with trusted extensions
1,000pooled connections on Pro Standard
02:00nightly pg_dump to your bucket
WHAT YOU GET

Everything included.
Nothing to wire up.

Managed Postgres 16 with pooling, backups and a SQL editor.

Pooled by default

DATABASE_URL goes through PgBouncer, so serverless apps share a few real connections. DIRECT_URL is there for migrations.

Explorer and SQL editor

Browse tables, edit rows and run queries in the browser. Read-only until you switch it off, with timeouts that protect your data.

Nightly backups

Every running database is dumped at 02:00 into your project's storage bucket, ready to download or restore.

Import in minutes

Paste a Neon, Supabase or any Postgres connection string. Check what will be copied, then confirm. The string is never stored.

Resize without moving

On Pro, pick a bigger size and the database restarts on the same disk and port. Your connection strings don't change.

Plain Postgres

Drizzle, Prisma, Kysely, psql or pg_dump: everything that speaks Postgres works. Enable pgcrypto, citext, hstore and more.

HOW IT WORKS

Three steps
to production.

  1. 01
    Deploy

    Click Deploy on the Postgres card. You get a database named app and a role that owns it.

  2. 02
    Connect

    Copy DATABASE_URL into your app, or pull every variable with one .env download.

  3. 03
    Ship

    Run your migrations with DIRECT_URL and query from your app. Backups start that night.

Read the Postgres guide
db.ts
import { Pool } from "pg";

// One small pool per server process.
export const db = new Pool({
  connectionString: process.env.DATABASE_URL,
  max: 5,
});

const { rows } = await db.query(
  "select id, email from users where created_at > now() - interval '1 day'",
);
BETTER TOGETHER

One project.
Every service connected.

Same project, same .env, same bill.

FAQ

Questions about
Postgres.

Which Postgres version is it?
Postgres 16. Trusted extensions such as pgcrypto, citext and hstore can be enabled from the explorer.
Can I use Prisma or Drizzle?
Yes. Use DATABASE_URL for queries and DIRECT_URL for migrations, such as drizzle-kit push or Prisma's directUrl.
How do backups work?
A nightly job runs pg_dump for every running database and stores the dump in your project's storage bucket under _backups/postgres/.
Can I move my database from Supabase or Neon?
Yes. Click Import database, paste the connection string and confirm. It is used once and never stored, and a read-only user is enough.

Add Postgres to your project.
Free to start.

Postgres, auth, storage, Redis, email and AI models. One API key.