About this project

Neon is presented as an open-source serverless Postgres database platform. It separates storage and compute and substitutes the PostgreSQL storage layer by redistributing data across a cluster of nodes. The README quick start suggests using the Neon Free Tier to create a serverless Postgres instance and connecting with a Postgres client such as psql or dbeaver, or using the online SQL Editor. It also notes that the project can be compiled and run locally. Architecture overview: a Neon installation consists of compute nodes and the Neon storage engine. Compute nodes are stateless PostgreSQL nodes backed by the storage engine. The storage engine has two major components: Pageserver, a scalable storage backend for compute nodes; and Safekeepers, a redundant WAL service that receives WAL from compute nodes and stores it durably until the pageserver processes it and uploads it to cloud storage. Developer documentation is in docs/SUMMARY.md. Local development: the README provides dependency installation instructions for Linux distributions such as Ubuntu or Debian, Fedora, and Arch, and for macOS, including protobuf-compiler 3.15+, Rust, PostgreSQL client, and build tools. Building creates neon and patched postgres, and the repository uses a rust-toolchain file. After cloning recursively and building with make, users run cargo neon init, cargo neon start, cargo neon tenant create --set-default, cargo neon endpoint create main, and cargo neon endpoint start main. Examples show running psql against the local endpoint and creating a branch with cargo neon timeline branch --branch-name migration_check, then creating and starting a PostgreSQL endpoint on that branch. The README states that the branch starts with data from main while subsequent modifications remain isolated. Testing and cleanup: Rust unit tests use cargo-nextest; integration tests require dependencies and run via ./scripts/pytest, with options to select Postgres version and build type. Flamegraphs can be generated with flamegraph-rs or flamegraph.pl. Cleanup uses make clean and make distclean, and removing the .neon directory deletes the local database. Documentation includes docs/sourcetree.md and rustdoc. The README links to blog posts, a video, a Neon glossary, a PostgreSQL glossary, CONTRIBUTING.md, and asks contributors to read code style and source tree layout docs.