Repolode
neondatabase

neondatabase/neon

Open-source serverless Postgres that separates storage and compute, with autoscaling, database branching and scale-to-zero.

Open-source alternative to:Amazon Aurora

Stars
23,248
Forks
1,123
Open issues
577
Last commit
2 months ago

What is it?

Neon is a serverless Postgres database platform. It splits storage from compute: compute nodes are stateless PostgreSQL instances, while a storage engine built from a pageserver and safekeepers holds the data. The safekeepers form a redundant WAL service that durably stores write-ahead log until the pageserver has processed it and uploaded it to cloud storage.

This separation lets a database be created as a branch of another, with changes isolated from the parent, and lets compute be started and stopped on demand. The project can be run locally with a control-plane tool, cargo neon, which initializes a pageserver, safekeeper and broker, creates tenants, timelines and endpoints, and supports Postgres 14 and later versions.

The codebase is written mainly in Rust and includes a patched PostgreSQL fork. Tests run with cargo-nextest for unit tests and pytest for integration tests.

Key features

  • 01Separates compute from storage so compute nodes are stateless PostgreSQL instances.
  • 02Supports code-like database branching, with branches isolated from their parent.
  • 03Provides autoscaling and scale-to-zero of compute.
  • 04Uses a redundant safekeeper WAL service and uploads data to cloud storage.
  • 05Includes a local control-plane tool, cargo neon, for running a full installation on a workstation.

Use cases

  • Creating isolated copies of a production database to test schema migrations.
  • Running Postgres workloads that are idle for long periods and should scale to zero.
  • Developing or testing changes to the Neon storage engine on a local machine.

Quick start

  1. 1

    Sign up for the Neon Free Tier to get a hosted serverless Postgres instance

  2. 2

    Clone the repository with its submodules

    git clone --recursive https://github.com/neondatabase/neon.git
  3. 3

    From the neon directory, build Neon and the patched Postgres

    make -j`nproc` -s

Things to know

  • Running it locally requires installing many system packages, Rust, and protoc 3.15 or newer.
  • The README gives local setup instructions only for Linux and macOS, and the macOS notes were written for macOS 12.3.1.
  • Local use is intended for small experiments and testing code changes, not production workloads.

In collections

Topics

FAQ

What is neon?
Open-source serverless Postgres that separates storage and compute, with autoscaling, database branching and scale-to-zero. Neon is a serverless Postgres database platform. It splits storage from compute: compute nodes are stateless PostgreSQL instances, while a storage engine built from a pageserver and safekeepers holds the data. The safekeepers form a redundant WAL service that durably stores write-ahead log until the pageserver has processed it and uploaded it to cloud storage.
Is neon free to use? What license does it have?
neon is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is neon still maintained?
Updated within 6 months. The last commit to neon was on Aug 31, 2026.
What can I use neon for?
Creating isolated copies of a production database to test schema migrations. Running Postgres workloads that are idle for long periods and should scale to zero. Developing or testing changes to the Neon storage engine on a local machine.
How do I install neon?
Sign up for the Neon Free Tier to get a hosted serverless Postgres instance Clone the repository with its submodules: git clone --recursive https://github.com/neondatabase/neon.git From the neon directory, build Neon and the patched Postgres: make -j`nproc` -s
Where can I get neon?
The source code and installation instructions are on GitHub: https://github.com/neondatabase/neon

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects