Branch a databaselike you branchthe code.
Serverless Postgres with copy-on-write branching, compute that suspends when nobody is querying, and a CLI an agent can drive end to end without a human in the loop.
No credit card. The free tier runs a real project.
Both branches hold the whole database. Storage grows only where a branch diverges from its parent.
A branch is a database, not a copy of one.
Fork production, point a preview environment at it, throw it away. The fork is instant because nothing is copied: it shares its parent's pages until you write.
Pin a branch to an exact point in the write-ahead log for a preview that is reproducible next week.
A fork shares its parent's storage until it is written to. Idle compute bills nothing.
Writes on a branch never reach the parent. Reset it from the parent, or delete it, whenever.
Give a preview branch a planned expiry so a stale environment is not found six weeks later on the bill.
The rest of it.
What you get once the database exists. No add-ons, no separate SKUs.
Agent-native CLI and API
Every command runs headlessly with one API key and JSON output, and returns a real exit code. Provisioning, branching, querying, and cost are all scriptable, so an agent can operate a database with no human in the loop.
bata db query --jsonScale-to-zero compute
Compute suspends after inactivity and wakes on the next connection. You are billed for the milliseconds it serves traffic, not for the hours it sat there.
idle → $0.00Query insights
Built on pg_stat_statements: per-query latency, execution counts, cache hit ratios, and slow-query detection, with the compute cost attributed back to the queries that caused it.
cost by fingerprintAutoscaling
Compute scales between a floor and a ceiling you set, on connection demand. Set min and max CU and the platform handles the rest.
0.25 – 8 CUConnection pooling
Transaction-mode pooling is built in, and there is an HTTP SQL endpoint for edge runtimes that cannot hold a TCP connection open.
pooled + HTTPTeams and access control
Organizations with owner, admin, member, and viewer roles. API keys scope to a team, and every mutating action lands in an audit log.
RBAC + auditFour commands.
Create a project, connect, branch it, or bring a database you already have.
Every one of those returns JSON with --json and a meaningful exit code, which is the whole reason an agent can run this without supervision.
Start freePay for what runs. Nothing else.
Every number below is a real rate, not an illustration. Compute bills only while it is serving traffic, so an idle project costs $0. Drag the inputs and watch the bill.
Scale-to-zero means you're billed only for the hours it actually serves traffic. Idle time costs $0.
After your free 100 CU-hours and 1 GB storage are applied.
An always-on server this size would cost $6.20 in compute. Scale-to-zero saves you $4.80/mo.
Estimate only. You're billed per millisecond of active compute, so real bills track usage exactly.
Start free. Grow into usage.
The free tier runs a real project, not a demo. Paid is the same product with bigger limits, billed at cost, never a paywall.
Enough to run a real side project, not a demo.
- Compute
- 100 CU-hrs/mo
- Storage
- 1 GB
- Transfer
- 5 GB
- Branching and scale-to-zero
- Query insights and CLI
Everything in Free, then only what you actually use, billed at the rates above.
- Compute
- $0.01 / CU-hr
- Storage
- $0.25 / GB-mo
- Transfer
- not metered yet
- Compute ceiling
- 8 CU
- Projects and branches
- unlimited
- No caps, no per-seat fees
For teams that need scale, controls, and a human on call.
- Everything in Pay-as-you-go
- Volume compute and storage discounts
- Role-based access control
- SSO and audit logs
- Priority support and SLAs