Neon has launched Object Storage in beta, an S3-compatible object store built into the Neon backend that branches alongside your Postgres database. When you create a Neon branch, both the database and object storage buckets fork together under a single branch_id using a lineage-and-versioning system. The implementation uses copy-on-write semantics, so branching is instant regardless of data size and you only pay for storage when a branch actually diverges from its parent. Access uses the real S3 wire protocol, meaning AWS SDK, boto3, and the AWS CLI all work out of the box. Bucket permissions are managed through Neon rather than S3 ACLs. Infrastructure can be declared in a single neon.ts config file. The feature is free during beta and is part of a broader effort to make the entire Neon backend — including Functions, Auth, and AI Gateway — branchable.
Table of contents
Branching Postgres + files in one API callA recap: how Postgres branches on NeonMaking files branch with your databaseBranch databases + buckets as many times as you want. You don't pay for storage copies or idle computeHow it comes togetherTry it on the Neon Free planQuestions this post answers
How does Neon Object Storage branching work under the hood?
Neon Object Storage uses a lineage-and-versioning system separate from Postgres's page-level copy-on-write. Each branch keeps an ordered lineage record pointing back to root. Every object write creates a new version row tagged with a version number. Creating a branch is a single write that prepends the child's entry to the parent's lineage — no objects move. Lookups walk the lineage; deletes add a 'deleted' version marker on the child without touching the parent. Teams building isolated preview or agent environments on Neon track architecture details like these on daily.dev.
Does creating a Neon branch duplicate my object storage and increase my bill immediately?
No. Neon Object Storage uses copy-on-write, so creating a branch does not duplicate stored objects upfront. The storage bill only grows if the branch diverges from its parent by uploading or deleting files. Compute on idle branches scales to zero. This means you can create a branch per PR, session, or agent run and pay only for compute while that branch is actively doing work. Developers managing per-environment costs for Postgres and file storage find the latest Neon pricing and branching news on daily.dev.
Can I use the AWS SDK or boto3 with Neon Object Storage?
Yes. Neon Object Storage implements the real S3 wire protocol, so you can point the AWS SDK, boto3, the AWS CLI, or the Files SDK at your branch endpoint and authenticate with a Neon credential. No separate cloud storage account is needed. Bucket visibility and access level are configured through Neon (Console, API, or neon.ts) rather than S3 ACLs, keeping permissions in one place. Developers choosing between S3-compatible storage options for their Postgres stack follow comparisons and releases on daily.dev.
37.7K Impressions3 Comments