Instant branching

Your database in seconds, without copying data. Fully isolated Postgres branches with schema and production-like data, instant and cheap to run.

One isolated database per workflow

Give every developer, pull request, test run, or agent its own database, no shared staging, no interference between environments.

Real data, not mocks

Work with production-like data from the start, not empty schemas or fragile test datasets.

Instant creation

Spin up a full Postgres database in seconds, regardless of size, no waiting for copies or restores.

Scale to zero

Branches automatically stop when idle, so you don't pay for compute you're not using.

Instant wake-up

Wake instantly on first connection, so your database is always ready.

Copy-on-write storage

Branches don't copy the data. They share it with the parent and only store changes.

How teams use branching

  • Pull requests

    Create a database branch for every PR. Test code against real data before merging.

  • Preview environments

    Give every deployment its own database with real data, no shared staging, no conflicts.

  • CI & testing

    Start every test run from a clean database. No drift, no flaky tests.

  • Debugging production issues

    Reproduce bugs on a production-like branch without touching live data.

  • Agents & automation

    Give every agent its own database. Run in parallel, without multiplying costs.

Shared staging doesn't work at agent scale

Agents can't share a staging database. Each needs an isolated Postgres branch with real data — so you can spin up thousands of databases without multiplying costs.

The challenges you're facing

  • Shared staging causes conflicts and unreliable tests.

  • Copies take too long and drift from production.

  • Small datasets hide real-world issues.

  • Production is too risky to test against.

How Xata solves them

  • One database per workflow no conflicts, no shared state.

  • Instant branches create databases in seconds.

  • Real data test against production-like datasets.

  • Safe isolation experiment without touching production.

Adopt branching without moving production

No migration. No disruption to production.

1

Connect to your production database

Keep your production database where it is, whether it is AWS RDS, Aurora, GCP Cloud SQL, Azure Database, or even self-hosted.

2

Clone the production database

Start with a production snapshot and keep it up to date—either via nightly refreshes or continuous sync.

3

Anonymize PII or other sensitive data

Mask sensitive data using configurable transformers that maintain referential integrity.

Learn more
4

Instant dev branches

From the production clone, instantly create copy-on-write branches for each pull request to accelerate development, testing, and collaboration.

5

Deploy to production without downtime

Apply database changes confidently with pgroll, serving old and new schema versions in parallel for smooth, lock-free migrations.

Learn more

Postgres for agent scale.

Use your existing Postgres. Run it better with Xata.