2026年7月17日(金)掲載 2,718本日 29
HN312342

PostgresがRustでフルスクラッチ!公式回帰テストを100%クリアという衝撃

Postgres rewritten in Rust, now passing 100% of the Postgres regression tests

SweetSoftPillow8日前

議論

11
0SweetSoftPillowスレ主3128日前

PostgresのソースコードがRustで完全に書き直されました。驚くべきことに、本家のPostgresが実施している回帰テスト(regression tests)を100%パスする水準に到達したとのことです。Rustの安全性とPostgresの堅牢性が融合する未来が見えてきました。

1juliangmp8日前

「書き換え」と「AIによる書き換え」は、しっかり区別する必要があると思う。

2gingersnap8日前

最近、テストが通るかどうかだけで動作を判断するような書き換えをよく見かけるけど、PostgresやSQLiteのようなソフトウェアの信頼性を支えているのは、テストそのものじゃなくて、実際の運用現場で刻まれた傷跡なんだよね。長年本番環境で稼働し続けたこと、それが信頼性の源泉だよ。

3dirkc8日前

こういうコードって、どうやってレビューすればいいんだろう?普段ならコミット履歴をチェックして、誰がどういう作業をしたかを確認するんだけど、1ヶ月も経たないうちにLLMが7101ものコミットを生成しているようじゃ、そんなの無理だよね。1日分を見るだけでも多すぎる[1]。そもそもコミットの中身自体が参考にならないなら、見る意味もなさそうだけど。

追伸:GitHubのリポジトリで最初のコミットに簡単にたどり着く方法ってある?コミット履歴を辿るのはかなり面倒に感じるんだけど。

[1] - https://github.com/malisper/pgrust/commits/main/?since=2026-... (https://github.com/malisper/pgrust/commits/main/?since=2026-06-12&until=2026-06-13)

4malisper8日前

著者です。まさかここで取り上げられるとは思っていませんでした。

プロジェクトの概要を簡潔に説明すると、LLMを使ってより良いPostgresを作る実験をしています。Postgresは30年前のソフトで、それ以来データベースについては多くの知見が得られました。書き換えに有効な手法の多くは、再アーキテクチャにも役立ちます。

現在、未公開ですが多くの手法を取り入れた新しいpgrustに取り組んでいます。現時点での新バージョンの状況です。

  • Postgresの回帰テストを100%通過
  • Postgresのプロセス・パー・コネクションモデルではなく、スレッド・パー・コネクションモデルを採用
  • トランザクション処理ではPostgresより50%高速
  • 分析処理ではPostgresより約300倍高速。今のところclickbenchではClickhouseより2倍遅いですが、Clickhouse以上の速度も可能だと思っています

質問があれば何でも聞いてください。

5cyber18日前

「unsafe {」が2664回、「unsafe fn」が1835回か。完全にunsafeだね。中身を理解してRustの強みを活かすようにアーキテクチャを再設計した書き換えには見えないな。むしろ、生のポインタを多用したAIによるトランスパイルという感じ。

6vintagedave8日前

印象的だけど、ライセンスがPostgreSQLライセンス[0]からAGPL[1]に変更されているのが気になる。AGPLは真にフリーでオープンソースなライセンスとして最高だと思うけれど、互換性の面が心配だね。つまり、元のソースから書き換えられたものなら、元のライセンスが適用されるべきではないか(そうだろう)。最近はオープンソースを書き換えて、より制限の厳しいライセンスにする傾向(Rustのcoretoolsみたいな)があるけど、AGPLを選んだのはまだ倫理的かもしれない。ただ、いっそのこと変更しない方が安全ではないかと思ってしまう。

[0] https://www.postgresql.org/about/licence/ (https://www.postgresql.org/about/licence/)

[1] https://github.com/malisper/pgrust?tab=AGPL-3.0-1-ov-file (https://github.com/malisper/pgrust?tab=AGPL-3.0-1-ov-file)

7Chyzwar8日前

これを確認する最善の方法は、稼働中の本番データベースの前にPgBouncerか何かプロキシを置いて、クエリを従来のPostgresとこのRust版の両方にミラーリングすることじゃないかな。そうすれば、実際の負荷環境下での出力結果とパフォーマンスを比較できる。しばらく走らせた後に、通常のPostgresインスタンスとテーブルを1対1でdiffを取ればいい。

8sdevonoes7日前

こういった書き換えプロジェクトが理解できない。

  • たいてい単一の個人がやっている。単一障害点(SPF)になるから普通は良くない。
  • たいてい短期間で達成されているから、開発者はプロジェクトを作る規律を身につけていない。つまり、中長期的にこのプロジェクトを維持する可能性は低い。
  • コントリビュートしたければ金を払う必要がある。AIなしで維持するのはどんどん難しくなっているので、トークンを支払わなければならない。

こんなものを誰が本番環境で使いたがるんだ?全く意味がない。

9SirHackalot7日前

私はAIによる書き換えなんて信用していない。2026年の今も、たぶんこれからも一生ね。

10password43217日前

Jepsenで検証するか、さもなくば消えな。

最近は、新しいデータベースがネットワーク効果を使ってコミュニティを構築できる可能性は低い。普及させたいなら、今すぐ手作業でコミュニティ構築に精を出し、特定のニッチ層に向けて体験を最高レベルまで磨き上げるべき(AIは優先順位の指針にはなるけど、コミュニケーションの邪魔になる)。そうでなければ、趣味の開発として楽しめばいい。