MiniPostgres 教程
English · 中文快速开始
MiniPostgres 是一个用 Python 编写的单进程关系数据库内核。它让完整查询路径 可检查:从 SQL 解析、代价优化和 Volcano 执行,到堆/B+Tree 存储、MVCC、 WAL、恢复、VACUUM 与 HOT 更新。它受 PostgreSQL 启发,但不兼容 PostgreSQL 线协议或完整 SQL。
English summary: MiniPostgres exposes a complete relational-kernel path in Python, while deliberately staying outside PostgreSQL compatibility.
安装
git clone https://github.com/system-in-miniature/MiniPostgres.git
cd MiniPostgres
uv sync
需要 Python 3.12+ 与 uv。
第一个实验
uv run python examples/demo.py
示例会报告点查使用的 IndexScan,对比可重复读快照与新视图,执行
VACUUM 和 checkpoint,重新打开数据库,并打印恢复出的行。
接着阅读查询内核导览,再用 PostgreSQL 机制映射给每个机制分类。完整功能和验证 参考见仓库中文 README。