One Postgres. Thousands of branches

Give every agent its own Postgres branch with real data, instantly, without killing your budget.

Agents don't need a better database. They need thousands of them.

Agents can’t share a staging database. Each needs an isolated Postgres branch with real data. With Xata, spin up tens of thousands of databases for the cost of one.

Old way
$ psql staging_db < dump.sql
Restoring public.users...
Restoring public.orders...
Restoring public.products...
Status: Waiting

DB SIZE: 1.1 TB

STATUS: Waiting

Elapsed:

02:45:30
$ xata branch create feature-1 --from prod
✓ Branch created
✓ Schema and data cloned
✓ Data anonymized
Status: Ready

DB SIZE: 1.1 TB

STATUS: Ready

Elapsed:

00:00:01

Agent-driven development

Every agent run and CI job gets its own Postgres with production data. Spin up, run, preview, and discard thousands of times per hour.

Simulation and RL training

Every RL episode needs a fresh Postgres from a known state. Snapshot a baseline, spawn thousands of copies, run in parallel, discard, repeat.

Multi-tenant agent platforms

Every RL episode needs a fresh Postgres from a known state. Snapshot a baseline, spawn thousands of copies, run in parallel, discard, repeat.

Instant branching

Branch a live Postgres database within seconds, regardless of size. By separating storage from compute, each branch references parent data and only stores deltas, allowing thousands of branches to be created without multiplying storage.

Copy-on-write

Full clones without the cost. Each branch starts with the same parent's data and stores changes only.

Developmentprod-clone
rl/episode-001
rl/episode-002
sim/load-test
sim/regression

Scale to zero

Run branches only when needed. When idle, they hibernate and use no compute.

280 branches
Active: 280Idle: 0
Compute$33.60/hr

Instant wake-up

Subsecond cold starts. Branches wake on first query and respond instantly — no connection timeouts, no spin-up delays.

>
Production /feature/auth
idnameemail

Vanilla Postgres & extensions

Xata runs 100% upstream PostgreSQL without significant modifications.

address_standardizer
address_standardizer_data_us
amcheck
auto_explain
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hll
address_standardizer
address_standardizer_data_us
amcheck
auto_explain
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hll
address_standardizer
address_standardizer_data_us
amcheck
auto_explain
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hll
address_standardizer
address_standardizer_data_us
amcheck
auto_explain
autoinc
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hll
hstore
hypopg
intagg
intarray
insert_username
ip4r
isn
lo
ltree
moddatetime
pageinspect
pg_buffercache
pg_cron
pg_freespacemap
pg_hint_plan
pg_partman
pg_prewarm
hstore
hypopg
intagg
intarray
insert_username
ip4r
isn
lo
ltree
moddatetime
pageinspect
pg_buffercache
pg_cron
pg_freespacemap
pg_hint_plan
pg_partman
pg_prewarm
hstore
hypopg
intagg
intarray
insert_username
ip4r
isn
lo
ltree
moddatetime
pageinspect
pg_buffercache
pg_cron
pg_freespacemap
pg_hint_plan
pg_partman
pg_prewarm
hstore
hypopg
intagg
intarray
insert_username
ip4r
isn
lo
ltree
moddatetime
pageinspect
pg_buffercache
pg_cron
pg_freespacemap
pg_hint_plan
pg_partman
pg_prewarm
pg_repack
pg_surgery
pg_trgm
pg_visibility
pg_walinspect
pgrowlocks
pg_stat_statements
pg_stattuple
pgaudit
pgcrypto
pgrouting
pglogical
pgtap
plpgsql
postgres_fdw
postgis
postgis_raster
pg_repack
pg_surgery
pg_trgm
pg_visibility
pg_walinspect
pgrowlocks
pg_stat_statements
pg_stattuple
pgaudit
pgcrypto
pgrouting
pglogical
pgtap
plpgsql
postgres_fdw
postgis
postgis_raster
pg_repack
pg_surgery
pg_trgm
pg_visibility
pg_walinspect
pgrowlocks
pg_stat_statements
pg_stattuple
pgaudit
pgcrypto
pgrouting
pglogical
pgtap
plpgsql
postgres_fdw
postgis
postgis_raster
pg_repack
pg_surgery
pg_trgm
pg_visibility
pg_walinspect
pgrowlocks
pg_stat_statements
pg_stattuple
pgaudit
pgcrypto
pgrouting
pglogical
pgtap
plpgsql
postgres_fdw
postgis
postgis_raster
postgis_sfcgal
postgis_tiger_geocoder
postgis_topology
prefix
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vector
wal2json
xml2
postgis_sfcgal
postgis_tiger_geocoder
postgis_topology
prefix
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vector
wal2json
xml2
postgis_sfcgal
postgis_tiger_geocoder
postgis_topology
prefix
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vector
wal2json
xml2
postgis_sfcgal
postgis_tiger_geocoder
postgis_topology
prefix
refint
seg
sslinfo
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vector
wal2json
xml2
PostgreSQL

Adopt Xata on your terms

Use Xata without moving your production database. Works with any Postgres in RDS, Aurora, Cloud SQL, or self-hosted.

AWS Logo

AWS

Azure Logo

Azure

Google Cloud Platform Logo

Google Cloud

Hetzner Logo

Hetzner

No migration required

Connect your existing RDS, Aurora, Cloud SQL, or self-hosted Postgres. Or host your primary database on Xata.

Xata cloud or BYOC

Xata-managed cloud by default, or deploy the data plane in your own AWS or GCP account.

Built-in anonymization

PII is detected and anonymized automatically during replication. Branches start clean by default.

Production-ready Postgres

Run your production workloads with confidence. Xata gives you the performance, isolation, and control of Postgres — with branching built in.

xata-dashboard — production
All systems operational
Last 90 days
Uptime99.99%
p99 Latency4ms
Connections0
Throughput12.4k qps
reads
writes

Almost free dev branches

Branches use copy-on-write to minimize storage costs.

Scale-to-zero compute

Database per PR with compute that scales to zero when not in use.

Instant branching

Database per PR with compute that scales to zero when not in use.

Premium storage

High-end performance storage for your data.

What our users are saying

See what engineers, builders and leaders are saying about Xata.

logo-Jordan Tigani
Xata is currently the best way to run the pg_duckdb extension in the cloud. The platform’s flexibility and API access make Xata the perfect PostgreSQL partner for us.
Jordan Tigani

CEO, MotherDuck

logo-Chris Windsor
Xata was an easy choice for our team because of how straightforward the entire platform is, while simultaneously providing a suite of adequate features that we need. The Xata team has also been super responsive and more importantly quick to resolve the hiccups that we brought upon ourselves.
Chris Windsor

Lead Software Engineer, Safestreets

logo-Jignesh Chauhan
By adopting Xata, we cut database costs vs. our RDS setup and got better help from Postgres experts.
Jignesh Chauhan

Co-founder, CallKarma.ai

logo-Ben Hubsch
Xata was a no-brainer for our team. We get a lot of value out of the copy-on-write database branching and scale-to-zero features.
Ben Hubsch

Software Engineer, SaaSgrid

Give every agent its own Postgres branch.

Run tens of thousands of databases, at the cost of one.