5,738
stars
+0+7+507
222
forks
46
watchers
–
prs
–
issues
4
releases
–
discussions
README
pgrust A Rust rewrite of Postgres. Try pgrust in your browser → | Discord | Updates | Issues New: Video of Michael's talk at PlanetScale on pgrust — and the slides. How AI Changes the Economics of JIT Compilers v0.4-beta is out: the release post and what's new. pgrust is a re-implementation of Postgres meant to show what Postgres would look like if it was built in 2026. It is wire compatible and even SQL dialect compatible with Postgres. Every line is Rust, written to match the behavior of the C implementation. Rust makes it easy to re-architect several core Postgres pieces. pgrust has: - Gravity, a new vectorized push-based, JIT compiled query engine - A thread based concurrency model - A query scheduler designed to keep any individual query from taking down your database - An automatic memory manager: one memory budget, sized from the machine, covers the buffer pool, the columnar caches and running queries, and gives pgrust control of what happens when you're running low on memory, greatly reducing the chance of your whole DB being taken down by the OS OOM killer and many other really awesome pieces. The scheduler and the memory manager go after two of the four horsemen behind thousands of Postgres outages. Quickstart In your browser: , a full pgrust server compiled to WebAssembly, no install. On your machine: download a release tarball from . Each one is self-contained: it carries pgrust's own bin/postgres, bin/initdb and bin/psql plus the share files they read, so you do not need a PostgreSQL install. The Linux binaries need glibc 2.34 or newer (Debian 12, Ubuntu 22.04, RHEL/Rocky 9 and later); the macOS binaries need macOS 11 or newer. | Tarball | Runs on | |---|---| | pgrust-0.4-beta-linux-x86_64.tar.gz | any x86-64 CPU | | pgrust-0.4-beta-linux-aarch64.tar.gz | any 64-bit Arm CPU | | pgrust-0.4-beta-linux-x86_64-znver3.tar.gz | tuned for AMD Zen 3 and newer | | pgrust-0.4-beta-linux-aarch64-neoverse-v2.tar.gz | tuned for Neoverse-V2 (AWS Graviton4, NVIDIA Grace) | | pgrust-0.4-beta-macos-arm64.tar.gz | macOS on Apple Silicon | | pgrust-0.4-beta-macos-x86_64.tar.gz | macOS on Intel | | pgrust-0.4-beta-macos-universal.tar.gz | macOS, either (both architectures in one binary) | The Linux builds are profile-guided optimized. The tuned builds use instructions only those CPUs (and newer ones) have; when in doubt, take the generic build. Every tarball has a .sha256 file next to it, and MANIFEST.txt lists them all. Linux bash Pick your build: linux-x86_64, linux-aarch64, linux-x86_64-znver3 or linux-aarch64-neoverse-v2 (see the table above). PLATFORM=linux-x86_64 Download pgrust, verify the checksum and unpack it. curl -LO "https://pgrust.com/downloads/v0.4-beta/pgrust-0.4-beta-$PLATFORM.tar.gz" curl -LO "https://pgrust.com/downloads/v0.4-beta/pgrust-0.4-beta-$PLATFORM.tar.gz.sha256" sha256sum -c "pgrust-0.4-be