🌐
Neon
neon.com › docs › introduction › branching
Branching - Neon Docs
A branch is a copy-on-write clone of your data. You can create a branch from a current or past state. For example, you can create a branch that includes all data up to the current time or an earlier time. Neon also supports schema-only branching.
🌐
Neon
neon.com › branching
Database Branching Workflows - Neon
A new paradigm for managing Postgres. Instantly create, test, preview, and roll back environments with Neon’s powerful database branching.
People also ask

How does Neon database branching work?
Neon branching uses Copy-on-Write (CoW) semantics at the storage layer. When you create a branch, no data is copied. The branch is a metadata pointer to a specific point in the parent database's write-ahead log history. Pages are only written to the branch's storage when they are modified. This means branching is an O(1) operation regardless of database size, completing in under a second. Each branch is a fully isolated Postgres instance with its own connection string. You can create a branch per pull request, per developer, or per CI run without meaningful cost or time overhead.
🌐
getautonoma.com
getautonoma.com › home › blog › neon database: how serverless postgres gives every developer their own production-grade environment
Neon Database Review: Serverless Postgres Branching (2026)
What is Neon database?
Neon is an open-source (Apache 2.0), serverless PostgreSQL platform built on a disaggregated architecture that separates compute from storage. Acquired by Databricks in May 2025 for approximately $1 billion, Neon scales compute to zero when idle, charges per compute-unit-hour for actual usage, and offers instant Copy-on-Write database branching. It is fully Postgres-compatible and designed for development teams that want cloud-native database infrastructure without the operational overhead of managing Postgres themselves.
🌐
getautonoma.com
getautonoma.com › home › blog › neon database: how serverless postgres gives every developer their own production-grade environment
Neon Database Review: Serverless Postgres Branching (2026)
How do I seed a Neon preview branch in GitHub Actions?
If the parent is already seeded, you don't — the branch inherits the data when runs. If the PR changes the schema, detect the migration change (e.g., with ) and run only on those branches. Use the unpooled ( ) output from the action for the seed step, not the pooled URL.
🌐
seedfa.st
seedfa.st › blog › neon-branching-seed-data
Neon Branching Seed Data: CI-Friendly Workflow | Seedfast
🌐
Neon
neon.com › docs › guides › branching-intro
Get started with branching - Neon Docs
Recover lost data or track down issues by restoring a branch to its history, or just create a point-in-time branch for historical analysis or any other reason. Learn how to instantly recover your database to any point in time within your [history window](/docs/introduction/history-window) ... Explore example applications that use Neon's branching feature.
🌐
Smashing Magazine
smashingmagazine.com › 2023 › 09 › getting-started-with-neon-branching
Getting Started With Neon Branching — Smashing Magazine
September 26, 2023 - Branches are a really nice (and safe) way to configure or reconfigure your database without fear of screwing up the production database. Let’s take a closer look at how branching works with [Neon](https://bit.ly/46cEgX1), and the good news is, you probably already know how it works!
🌐
Autonoma AI
getautonoma.com › home › blog › neon database: how serverless postgres gives every developer their own production-grade environment
Neon Database Review: Serverless Postgres Branching (2026)
March 26, 2026 - Unlike traditional managed Postgres (RDS, Cloud SQL), Neon scales compute to zero when idle, charges by the second for actual usage, and ships a feature called Copy-on-Write branching that creates fully isolated Postgres instances in under a second.
🌐
Neon
neon.com › blog › practical-guide-to-database-branching
Practical Guide to Database Branching - Neon
March 16, 2026 - When you create a branch, Neon takes the exact state (schema + data) of the parent branch at that moment, but it doesn’t copy the entire database. Thanks to copy-on-write storage, branches share the same base and only store changes.
🌐
Seedfast
seedfa.st › blog › neon-branching-seed-data
Neon Branching Seed Data: CI-Friendly Workflow | Seedfast
April 23, 2026 - Neon branching seed data workflow: seed the parent branch once, let preview branches inherit it, reseed only when schema drifts. CI-friendly, with examples.
🌐
Reddit
reddit.com › r/neondatabase › how are you handling neon branching in real projects?
r/neondatabase on Reddit: How are you handling Neon branching in real projects?
December 28, 2025 -

Neon’s branching is powerful, but also easy to misuse.

Questions for those using it beyond demos:

  • Do you branch per PR? Per environment?

  • How do you handle schema migrations across branches?

  • Any gotchas with long-lived branches?

  • How do you avoid surprise costs or orphaned branches?

Would love to see real workflows, not just docs-based answers.

Top answer
1 of 2
2
Branching is amazing for integration testing - each test run gets a completely isolated branch with real Postgres. Since you can branch from production, your automated tests can run against real production data (or anonymized production data) instead of synthetic fixtures. I wrote Neon Testing to make this workflow super easy. It handles branch creation/cleanup automatically, and has safeguards against orphaned branches piling up. Been using it in CI for a while now. https://www.npmjs.com/package/neon-testing
2 of 2
1
This is great context, thanks for taking the time to lay it out so clearly. The note about logical replication keeping branches alive is especially valuable that’s the kind of thing that isn’t obvious at first, but can have a real cost impact if people aren’t aware of it. Auto-sleep vs always-on listeners is an important distinction for anyone using branching heavily. The approach of disposing branches as part of test teardown feels like the right default. Keeping branches around for debugging makes sense, but probably as an explicit, temporary opt-in rather than something automatic. Curious to see if others here have found longer-lived branches useful outside of debugging. On anonymization, opening an issue is a good call. Branching from production is powerful, but having a clear and safe anonymization path is what will make that pattern comfortable for more teams. Hopefully that discussion on GitHub surfaces some good approaches. This kind of practical insight around testing workflows, branch lifecycle, and cost behavior is exactly the sort of experience sharing that makes this community useful.
Find elsewhere
🌐
Neon
neon.com › branching › branches
Branches - Neon Branching
July 8, 2025 - A branch in Neon is a lightweight, copy-on-write clone of your database. It inherits both the schema and data from its parent, but shares the same underlying storage.
🌐
Neon
neon.com › docs › get-started › workflow-primer
Database branching workflow primer - Neon Docs
With Neon, you can work with your data just like you work with your code. The key is Neon's database branching feature, which lets you instantly create branches of your data that you can include in your workflow, as many branches as you need.
🌐
Neon
neon.com › branching › branching-for-agents
Build versioning / checkpoints for your agent - Neon Branching
February 17, 2026 - Learn how to use branching in your agents or platforms. Manage databases per user or app and build versioning with snapshots that keep code and database state in sync
🌐
The New Stack
thenewstack.io › home › neon: branching in serverless postgresql
Neon: Branching in Serverless PostgreSQL - The New Stack
January 8, 2024 - Branching gives the user a full copy of the production database that can be used for experimentation or testing without affecting the main branch.
🌐
Neon
neon.com › branching › projects
Projects - Neon Branching
Learn how Neon projects organize branches, compute endpoints, and access controls for scalable database management
🌐
Neon
neon.com › docs › guides › branching-neon-cli
Branching with the Neon CLI - Neon Docs
The examples in this guide demonstrate creating, viewing, and deleting branches using the Neon CLI. For other branch related CLI commands, refer to Neon CLI commands — branches. This guide also descri...
🌐
Neon
neon.com › docs › guides › branching-github-actions
Automate branching with GitHub Actions - Neon Docs
Neon provides a set of GitHub Actions to automate the creation, deletion, and management of database branches in your Neon projects. These actions allow you to automate database branching as part of y...
🌐
Semaphore
semaphore.io › home › a first look at neon: a postgres database that branches
A First Look At Neon: a PostgreSQL database that branches
February 14, 2023 - Neon is an open-source Postgres-compatible database that features branching. Branches in Neon allow us to treat data the same as code.
🌐
Medium
medium.com › @firmanbrilian › time-travel-and-branching-in-neon-for-data-engineering-use-cases-9efb1950bd2a
Time-Travel and Branching in Neon for Data Engineering Use Cases | by firman brilian | Medium
August 21, 2025 - Agility — Experiment safely without risking production stability. Compliance-ready — Easily retrieve data for audits and reporting. Neon’s time-travel and branching capabilities transform how data engineers manage evolving datasets.
🌐
Neon
neon.com › docs › guides › branching-neon-api
Branching with the Neon API - Neon Docs
February 6, 2026 - See List branches. The parent_id is the id of the branch you are branching from. A branch id has a br- prefix. You can branch from your Neon project's default branch or a non-default branch.