databases

A real Postgres for every branch,
warm before the first query.

Every database is its own Firecracker microVM running PostgreSQL 16 — its own kernel, its own postgres, a connection pooler, and a durable volume. Branch it while it runs, rewind it to any moment, and pay nothing for compute while it sleeps.

1 VM
per database
$0
compute while idle
90 days
PITR window on Team
postgres 16 — branch + point-in-time restore
isolation

Your database is a computer, not a tenant.

Shared-cluster serverless Postgres hands you a slice of someone else's machinery. A PandaStack database is a dedicated microVM: its own kernel behind KVM, its own postgres process, PgBouncer in front, and a durable data volume underneath — reachable by a native postgres:// URL in one API call.

Why the whole machine matters

Databases are the guaranteed workload class: memory is never overcommitted, never squeezed, and the TTL reaper that recycles ordinary sandboxes never touches them. Data lives on a dedicated durable volume — it survives hibernate, wake, and host reboot. pgvector, pg_trgm, and pgcrypto come pre-installed.

own kernelown postgresdurable volume
python — pip install pandastack
import pandastack

client = pandastack.Client(api_key="pds_...")
db = client.databases.create(label="my-app-db")
print(db["connection_url"])
# postgres://pandastack:<pw>@<id>.db.pandastack.ai:5432/pandastack

# "undo" a bad migration: a NEW database as of 09:30, source untouched
clone = client.databases.clone(
    db["id"],
    label="before-the-bad-migration",
    target_time="2026-08-06T09:30:00Z",
)
branch

Branch a running database, keep the cache.

A warm branch is a new database born from a live one — its first query hits a hot cache instead of cold storage, so there is no ramp-up while it re-reads what the parent already knew. Each branch diverges copy-on-write; the parent never notices.

Warm from query one

The branch arrives with the parent's working set already hot. Point a preview, a test suite, or an agent at it and the first read is fast — no cold-cache tax.

Its own front door

Every branch gets its own connection string, fresh credentials, and an isolated backup stream. Wiring a throwaway environment never risks production.

Copy-on-write divergence

Branches share data with the parent until they write, then diverge page by page. Keep the branch that worked, delete the rest — the source stays untouched.

Using branches as throwaway test databases, one per pull request or agent task? See ephemeral Postgres databases.

recover

Any moment in the window is restorable.

Daily base backups plus continuous WAL archiving — automatic, nothing to enable — give point-in-time recovery to any instant in your retention window: 7 days on Free, 30 on Pro, 90 on Team and Enterprise. Not just the moments a backup happened to run.

Restore in place

Roll this database back to a point in time. Id, host, and connection string — password included — are preserved, and a safety backup of the current state is taken first, so the restore itself is undoable.

Clone

Provision a brand-new database from this one's backups, optionally at a point in time. The source keeps running unaffected — and a clone can change RAM tier, which is the supported resize path.

Failover

If the host is lost, rebuild the database on a healthy machine from the off-host archive. Same id, same host name; the dashboard offers it automatically when a database reports failed.

connect

Connect like it's Postgres. Pay like it's serverless.

A native postgres:// URL that works with every driver and ORM, pooling built in, an HTTP broker for the places TCP can't go — and compute that stops billing the moment nobody is connected.

TLS, always

Traffic is routed to your VM by SNI and TLS is required — sslmode=require with any PostgreSQL client.

Pooled by default

PgBouncer in transaction mode accepts up to 500 client connections and multiplexes them — built for serverless and short-lived agent connections.

REST query broker

Query, exec, and transactions over HTTPS with a scoped broker token — for edge functions and anywhere a raw TCP connection can't open.

Scale-to-zero

An idle database pauses its compute and bills $0; the next connection wakes it in seconds. Set always_on for workloads that must never wait.

compare

The difference is the machine.

Serverless Postgres re-architects the database around shared storage. PandaStack keeps stock PostgreSQL 16 and gives it a whole microVM instead.

PandaStack databaseshared-cluster serverless Postgres
Isolationdedicated kernel per database (KVM)tenants separated inside shared machinery
Noisy neighboursnone — the VM is yoursshared compute and shared storage tiers
Branch cachewarm — inherited from the parentcold — re-read from remote storage
Readslocal durable volumenetwork round-trip to a pageserver
Apache-2.0 · self-host or managed cloud

Ship on the millisecond cloud.

Free tier with $5.40/mo usage credit. No card. Apache-2.0.