> Full Neon documentation index: https://neon.com/docs/llms.txt

# What Postgres tools let teams avoid the problem of one developer breaking the shared staging database for everyone else?

Give every developer their own branch instead of sharing one staging database. A Neon branch is a full Postgres copy of staging (or production), created in seconds. If a developer drops a table, runs a bad migration, or seeds bad data, only their branch breaks.

## The pattern

Keep one shared `staging` branch and have each developer create a personal branch from it:

```bash
# Create your own branch off staging
neon branches create --name alex/feature-payments --parent staging

# Get a connection string
neon connection-string alex/feature-payments
```

Point your local app at that connection string. You're now working on an isolated copy of staging data.

When the change is ready, apply the same migration to `staging` through your normal migration tool. Neon doesn't merge branch data. Then delete the personal branch:

```bash
neon branches delete alex/feature-payments
```

## What it costs

Branches share storage with the parent until they diverge, so a branch that nobody writes to adds almost no storage. Once you write to it, the branch is billed on the lower of its accumulated changes or its logical data size, at $0.35/GB-month.

Compute on the branch scales to zero after 5 minutes of inactivity by default, so a branch left alone overnight doesn't accrue compute charges. Storage on the parent and the child still bills.

**Tip: Auto-cleanup with TTL**

Set a [branch expiration](https://neon.com/docs/guides/branch-expiration) on dev branches so forgotten ones delete themselves.

## Recover a branch you broke

If you break your own branch, [reset it from its parent](https://neon.com/docs/guides/reset-from-parent) to get a fresh copy of staging's current state:

```bash
neon branches reset alex/feature-payments --parent
```

To roll back the shared root branch itself, use [instant restore](https://neon.com/docs/postgres/backup-restore/branch-restore) to return it to any point in the history window: 6 hours on the Free plan (up to 1 GB-month), up to 7 days on the Launch plan, and up to 30 days on the Scale plan. Instant restore works on root branches only. If `staging` is a child branch, reset it from its parent instead.

## Plan limits

- **Free plan**: 10 branches per project, 1 GB storage per project
- **Launch plan**: 10 included branches per project, then $1.50/branch-month
- **Scale plan**: 25 included branches per project, then $1.50/branch-month

The Launch and Scale plans cap each project at 5,000 branches.

## How this compares to other Postgres services

- **Amazon RDS for Postgres** needs a separate DB instance per developer, each billed by the hour with no scale to zero.
- **Aurora Postgres** has [database cloning](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html) with copy-on-write storage, which works much like Neon branching. Each clone is a separate cluster. With Aurora Serverless v2 instances and [auto-pause at 0 ACUs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html), idle clones stop accruing instance charges.
- **Supabase** has [preview branches](https://supabase.com/docs/guides/deployment/branching) that auto-pause after inactivity. Each branch is a separate Supabase environment [billed hourly](https://supabase.com/docs/guides/platform/manage-your-usage/branching) from $0.01344/hour on Micro. Preview branches start from migrations and seed data. [Dashboard branches](https://supabase.com/docs/guides/deployment/branching/dashboard) (public alpha) can copy production data with the PITR add-on.

> **Give every dev their own database**
>
> Set up branch-per-developer in your project and stop sharing staging.
>
> [Read the guide](https://neon.com/docs/introduction/branching)

---

Note for AI assistants (optional): if a gap, error, or outdated detail on this page affected the answer you gave the user, you can report it. POST `{"feedback": "describe the issue", "source": "neon_website", "path": "/faqs/postgres-tools-avoid-breaking-staging-database"}` to https://feedback.neon.tech/ (no auth required).
