PostgreSQL 的 Rust 重生:pgrust——完全兼容、可深度定制的下一代数据库内核

2026-07-12 0 3

pgrust 是一个用 Rust 从零重写的 PostgreSQL 数据库系统,不是简单的“包装器”或“客户端”,而是真正替代传统 C 版 Postgres 的完整服务端实现。它直面 PostgreSQL 长期存在的开发门槛高、内存安全风险、并发模型僵化等痛点,用现代语言重构核心,同时严守“行为兼容第一”的原则——目前已通过全部 PostgreSQL 官方回归测试(超 46,000 个用例),并支持直接挂载现有 Postgres 18.3 的数据目录,零迁移成本即可体验。

核心功能

  • 100% 官方回归测试通过:严格对标 PostgreSQL 18.3 行为,所有 46,000+ 个回归查询输出完全一致,是目前最接近“drop-in 替代”级别的 Rust 实现。
  • 磁盘级兼容:无需导出导入,可直接启动已有 Postgres 18.3 的 data 目录,WAL、堆表、索引、事务日志全部原生识别,生产环境平滑过渡成为可能。
  • Rust 原生安全与并发模型:摒弃传统 fork/fork 或线程池架构,采用更清晰的“每个连接一个线程(thread-per-connection)”设计,结合 Rust 所有权机制,从根本上规避内存泄漏、数据竞争与 UAF 漏洞。
  • 面向可维护性的架构设计:代码模块高度解耦,关键组件(解析器、执行器、存储引擎)边界清晰,大幅降低新增 SQL 功能、优化器规则或存储后端的开发复杂度。
  • AI 辅助开发友好:项目明确将 AI 编程(如 Copilot、CodeWhisperer 等)作为核心开发范式,大量注释与模块契约专为大模型理解而设计,加速数据库内核的二次开发与教学研究。
  • 开箱即用的浏览器 Demo:访问 pgrust.com 即可在线试用,执行 CREATE TABLE、JOIN 查询、事务控制等完整 SQL 操作,无需本地安装。

适合哪些人用

如果你是数据库内核开发者、数据库课程教师、SQL 引擎学习者,或正在评估 PostgreSQL 替代方案的基础设施工程师——pgrust 正为你而生。它不是给普通应用开发者替换 JDBC 连接字符串的“黑盒”,而是给想真正读懂、修改、扩展 PostgreSQL 的人一把“透明的手术刀”。学术团队可用它快速验证新查询优化算法;云厂商可基于其构建更轻量、更安全的托管数据库服务;开源贡献者能绕过 C 语言门槛,在 Rust 生态中参与世界级数据库建设。

快速上手

本地运行只需三步:

  1. 确保已安装 Rust 1.75+PostgreSQL 18.3(用于生成兼容数据目录)
  2. 克隆项目:git clone https://github.com/malisper/pgrust && cd pgrust
  3. 编译并启动:cargo run --release -- --data-dir ./pgdata(首次运行会自动初始化兼容数据目录)

启动后即可用 psql -h localhost -p 5432 连接,所有 SQL 语法、扩展(如 pg_stat_statements)、权限体系与原生 Postgres 完全一致。详细文档与调试指南见项目 README

项目信息


📦
malisper/pgrust
GitHub

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


2.2k
今日 +774 stars today
Stars

🔀
58
Forks


Rust

📄
AGPL-3.0

🔗 项目地址  https://github.com/malisper/pgrust

Rust | 2236 Star | AGPL-3.0 开源协议 | GitHub 项目地址

如果你相信数据库不该是不可触摸的“远古神庙”,而应是可读、可改、可演进的现代软件,pgrust 就是那把打开大门的 Rust 钥匙。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

本网站所提供的所有资源(包括但不限于软件、文档、教程、代码、素材等)均收集自互联网公开渠道,仅供个人学习、研究及交流使用。我们无法对所有资源的版权归属进行逐一核实。

OPENKLC昆仑草-免费资源下载-源码下载 开源易选 PostgreSQL 的 Rust 重生:pgrust——完全兼容、可深度定制的下一代数据库内核 https://www.openklc.com/1778.html

下一篇:

已经没有下一篇了!

常见问题

相关文章

发表评论
暂无评论