🦀 PostgreSQLをRustで丸ごと書き直したら回帰テスト46,000本が全部通った — pgrust
AIエージェント8並列で45万行のRustを生成し、Postgres 18.3の回帰テストをゼロ失敗で通過したpgrust。HN 740ポイントの熱狂と懐疑を整理した。
2026年7月9日、「pgrust」がPostgreSQL 18.3標準の回帰テストスイート——46,000本超のクエリ——をゼロ失敗で通過したというアナウンスが出た。PostgreSQLをRustで丸ごと書き直すプロジェクトだ。Hacker Newsは740ポイント・620コメントの大騒ぎになった。
「PostgresをRustで再実装」という文字列だけなら、正直これまでも何度か見た。今回引っかかったのは達成の中身と、その作り方だ。
「互換」の水準が一段違う
pgrustはクエリパーサ・プランナ・エグゼキューター・ストレージエンジン・トランザクション管理までRustで実装している。そして回帰テストを通すだけでなく、Postgres 18.3のデータディレクトリから直接起動できる。ディスクフォーマット互換ということだ。
サブセット互換の「Postgres風」DBは山ほどあるが、既存のデータディレクトリをそのまま食えるとなると話が変わってくる。移行ツールなしで差し替え実験ができるからだ。
45万行をAIエージェント8並列で書いた
作り方も2026年らしい。開発者のmalisper氏は、8並列のAIコーディングエージェントを回して45万行以上のRustコードを生成したと説明している。人間が全行レビューする規模ではもうない。「テストスイートが仕様であり、テストが通ることが正しさ」という開発観だ。
自分も30案件の業務OSをAIに書かせて運用しているので、この感覚はわかる。決定的なチェックを機械に持たせて、生成はエージェントに任せる。ただし45万行のDBエンジンとなると、桁が3つくらい違う話ではあるんですが。
「100%通過」に浮かれてはいけない
HNのコメント欄で最も強かったのは懐疑論だ。回帰テストは「Postgresが過去に踏んだ地雷」の集積であって、実世界のワークロードを保証しない。本番のDBには、年単位の運用で蓄積された無数の暗黙知が詰まっている。
作者自身もここは正直で、pgrustを「Postgresの動作を保ちながら内部改造を容易にする実験基盤」と位置づけている。たとえば現行Postgresのプロセスベース接続モデルをスレッドベースに変える、といった実験の土台だ。ライセンスはAGPL-3.0。スターは公開2日で1.6kまで伸びた。
「AIで書いた45万行」を信用できるかは、結局テストへの信仰の問題に帰着する。46,000本のテストは仕様として十分か。自分はまだ答えを持っていないけど、この問いが具体的なコードベースとして目の前に置かれたこと自体が、今年いちばんの事件だと思う。