惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
量子位
S
SegmentFault 最新的问题
博客园 - 聂微东
博客园 - 【当耐特】
J
Java Code Geeks
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
H
Help Net Security
V
V2EX
人人都是产品经理
人人都是产品经理
博客园 - Franky
罗磊的独立博客
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research

Hacker News: Best

madhadron - The seven programming ur-languages GitHub - smol-machines/smolvm: Tool to build & run portable, lightweight, self-contained virtual machines. I Measured Claude 4.7's New Tokenizer. Here's What It Costs You. Introducing Claude Design by Anthropic Labs It Is Time to Ban the Sale of Precise Geolocation The creative software industry has declared war on Adobe Isaac Asimov: The Last Question Newly unsealed records reveal Amazon’s price-fixing tactics, California attorney general claims Clojure - Documentary Android CLI and skills: Build Android apps 3x faster using any agent Qwen3.6-35B-A3B on my laptop drew me a better pelican than Claude Opus 4.7 Codex:全能型助手 Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? Virginia Bans Sale of Geolocation Data YouTube now lets you turn off Shorts Burgers | マクドナルド公式 ChatGPT for Excel Ask HN: Who is using OpenClaw? Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Open Source Isn't Dead. The Future of Everything is Lies, I Guess: New Jobs Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests IPv6 – Google Your Backpack Got Worse On Purpose Good sleep, good learning, good life Fixing a 20-year-old bug in Enlightenment E16. Does Gas Town 'steal' usage from users' LLM credits & paid services to improve itself?
GitHub - malisper/pgrust
malisper · 2026-06-25 · via Hacker News: Best

A PostgreSQL rewrite in Rust.

PostgreSQL 18.3 Regression queries: 46k+ License: AGPL-3.0

pgrust targets compatibility with PostgreSQL 18.3 and matches PostgreSQL's expected output across more than 46,000 regression queries.

pgrust is disk compatible with PostgreSQL and can boot from an existing PostgreSQL 18.3 data directory.

The goal is to make Postgres easier to change from the inside: keep the behavior Postgres-shaped, keep the real PostgreSQL tests as the oracle, and use Rust plus AI-assisted programming to explore deeper server changes.

Status

pgrust is not production-ready yet. It is not performance optimized yet.

Existing PostgreSQL extensions and procedural language extensions such as PL/Python, PL/Perl, and PL/Tcl are not generally compatible yet. Some bundled contrib modules are already ported, and more compatibility may be possible over time.

Roadmap

  • multithreaded Postgres internals
  • built-in connection pooling
  • better JSON-heavy workload support
  • fast forking and branching workflows
  • storage experiments, including no-vacuum designs
  • runtime guardrails for bad queries and AI-generated SQL
  • fewer sudden bad plan switches

Try It

Try the WebAssembly demo at https://pgrust.com.

Docker:

docker run -d --name pgrust -e POSTGRES_PASSWORD=secret malisper/pgrust:v0.1 && until docker exec -e PGPASSWORD=secret pgrust psql -h 127.0.0.1 -U postgres -c '\q' >/dev/null 2>&1; do sleep 1; done && docker exec -it -e PGPASSWORD=secret pgrust psql -h 127.0.0.1 -U postgres; docker rm -f pgrust

This uses the psql client inside the Docker image.

malisper/pgrust:latest currently points at the same release, but v0.1 is the pinned launch image.

Build From Source

macOS:

brew install icu4c openssl@3 libpq

export LIBRARY_PATH="$(brew --prefix openssl@3)/lib:${LIBRARY_PATH:-}"
export PKG_CONFIG_PATH="$(brew --prefix openssl@3)/lib/pkgconfig:$(brew --prefix icu4c)/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
export PATH="$(brew --prefix libpq)/bin:$PATH"

Debian/Ubuntu:

sudo apt-get update
sudo apt-get install -y build-essential pkg-config libicu-dev libssl-dev libldap2-dev libpam0g-dev postgresql-client-18

Build:

PGRUST_PGSHAREDIR="$PWD/vendor/postgres-18.3/share" \
cargo build --release --locked --bin postgres

Create a data directory:

target/release/postgres --initdb \
  -D /tmp/pgrust-data \
  -L "$PWD/vendor/postgres-18.3/share" \
  --no-locale \
  --encoding UTF8 \
  -U postgres

Run pgrust:

ulimit -s 65520

RUST_MIN_STACK=33554432 target/release/postgres \
  -D /tmp/pgrust-data \
  -F \
  -c listen_addresses= \
  -k /tmp \
  -p 5432 \
  -c io_method=sync \
  -c max_stack_depth=60000

Connect:

psql -h /tmp -p 5432 -U postgres -d postgres \
  -c "select version(), 1 + 1 as two"

Regression Tests

Run the PostgreSQL regression tests against pgrust:

PGRUST_BIN="$PWD/target/release/postgres" \
scripts/run-regression

The runner uses pgrust's own --initdb plus the vendored PostgreSQL 18.3 test files in this repository. It needs a PostgreSQL 18 psql client on PATH; if psql is somewhere else, set PGRUST_PSQL=/path/to/psql.

Verified launch result: pgrust matched PostgreSQL's expected output across more than 46,000 regression queries.

History

This repository now contains the newer pgrust implementation that reached the regression-test milestone.

The older public implementation is archived on archive/pre-fabled-2026-06-23.

Background:

Feedback

Please open an issue if something breaks, if setup is confusing, or if there is a Postgres improvement you want to see first.

Contact

License

pgrust is licensed under AGPL-3.0. See LICENSE.