用 Rust 重写的 Postgres,已通过 100% 的 Postgres 回归测试

查看原文 HN 讨论

文章摘要

pgrust 是 malisper 用 Rust 重写 PostgreSQL 的一个雄心勃勃的项目,目标是”让数据库从内部更容易被修改”,同时借助 Rust 的内存安全和现代工具链。项目定位为在功能上与 PostgreSQL 18.3 兼容。

在兼容性上,pgrust 做到了:磁盘格式与现有 Postgres 18.3 数据目录兼容,并在 46000 多条回归查询上匹配 Postgres 的输出——这正是标题所称”通过 100% 回归测试”的由来。项目明确标注尚未达到生产可用尚未做性能优化。目前大多数 Postgres 扩展(PL/Python、PL/Perl、PL/Tcl 等过程语言扩展)还不兼容,只移植了部分自带的 contrib 模块。开发方式被作者概括为”Rust 加 AI 辅助编程”。

值得注意的是,README 的更新区块提到了一个尚未公开发布的高性能版本:它采用”每连接一线程(thread-per-connection)”而非 Postgres 传统的”每连接一进程”模型,并声称在事务型负载上快约 50%、在分析型负载上快约 300 倍。这些数字目前无法验证,也未随 v0.1 一起发布。项目采用 AGPL-3.0 强 copyleft 许可。

围绕这个项目,HN 上真正被反复辩论的其实不是数据库本身,而是一个更大的时代命题:“AI 重写”算不算一次真正的重写,以及”通过全部回归测试”能否等同于”值得信任”。作者 malisper 也在评论区亲自回应了扩展兼容性等问题。

HN 评论精华