> 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 garbage data, only their branch breaks.

## The pattern

Most teams keep `main` as the shared staging branch and use it as the parent for personal branches:

```bash
# Each developer creates their own branch off main
neon branches create --name alex/feature-payments --parent main

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

Point your local app at that connection string. You're now working against a copy of staging data, isolated from everyone else.

When you're done, delete the branch:

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

## What it costs

Branches share storage with the parent until they diverge. A branch that nobody writes to costs nothing in storage. Once you start writing, you're billed on the minimum of changes accumulated or the logical data size, at $0.35/GB-month.

Compute on the branch scales to zero after 5 minutes of inactivity (configurable on paid plans), so an unused branch sitting overnight doesn't accumulate compute charges.

**Tip: Auto-cleanup with TTL**

On paid plans, set a [time-to-live](https://neon.com/docs/guides/branch-expiration) on dev branches so abandoned ones disappear. Useful when developers create branches and forget about them.

## Restoring a branch you broke

If you do break your own branch, you can reset it to its parent's current state without losing your project:

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

Or, on the parent, use [instant restore](https://neon.com/docs/introduction/branch-restore) to roll back a root branch to any point in the history window (6 hours on Free, up to 7 days on Launch, up to 30 days on Scale).

## Plan limits

- **Free**: 10 branches per project, 0.5 GB storage per project
- **Launch**: 10 included branches per project, $1.50/branch-month for extras, up to 5,000 per project
- **Scale**: 25 included branches per project, same overage rate

## How this compares to other Postgres services

Other managed Postgres services support per-developer environments, but the tradeoffs differ:

- **Amazon RDS for PostgreSQL** requires standing up a separate DB instance per developer, billed by the hour with no scale-to-zero. Cost adds up quickly across a team.
- **Aurora PostgreSQL** offers [database cloning](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html) using copy-on-write storage, which is similar in spirit to Neon's branching. Each clone is a separate DB cluster; combined with Aurora Serverless v2 [auto-pause to 0 ACUs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html), idle clones can stop accruing compute.
- **Supabase** supports [preview branches](https://supabase.com/docs/guides/deployment/branching) that auto-pause on inactivity. Each branch is a full Supabase environment and is billed by the hour while active, starting at ~$0.01344/hr on Micro per [branching usage docs](https://supabase.com/docs/guides/platform/manage-your-usage/branching).

Neon's branches are typically faster to create (seconds), share storage by default, and scale to zero per branch.

> **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/guides/branching-intro)
