Guide for modifying and developing the "what-planner-thinks" PostgreSQL query optimizer source code analysis mdBook project.
这个 Skill 用于指导如何修改和开发本仓库的 PostgreSQL 查询优化器(Planner)源码深度解析书籍 ——《那个叫 Planner 的家伙在想什么?》。
本仓库使用 mdBook 作为静态站点生成器,专注于深度解析 PostgreSQL (默认版本基于 postgresql_18_1) 的 Planner 流程。
postgresql_18_1/src/backend/optimizer 路径下的核心逻辑。src/ 包含所有的 markdown 源文件。src/SUMMARY.md 为全局目录,所有的章节新增都必须在这里注册。src/phase1 到 src/phase3 以及 src/appendix 对应查询处理和计划生成的不同阶段。在修改内容前或修改完成后,如果需要在本地预览文档页面,应当执行以下命令(前提已安装 Rust 以及 cargo):
# 1. 安装必要的工具(仅首次需要)
cargo install mdbook
# 2. 本地启动服务并实时预览
mdbook serve --open
开发本电子书时,请严格遵守以下规范:
src/ 目录或其对应逻辑阶段的对应子目录(如 phase1, phase2 等)中。src/SUMMARY.md 文件。如果不更新,mdBook 不会将其编译进书中,且左侧导航栏也不会展示。在处理 TargetEntry 时),以提供更好的阅读体验。```c。对于大型函数分析,请通过适当裁剪并使用注释说明这段代码的意图,避免直接粘贴整屏无用代码。src/images/ 目录下新建该目录保存)。。postgresql_18_1 下的相关注释(如 TODO),应该将其背景及当前解决状态进行梳理分析。新增一节关于连接顺序(Join Order)优化:
src/phase2/join_order.md。# 连接顺序优化
在生成所有的 Join 路径之前,...
src/SUMMARY.md,在 phase2 部分下方添加:
- [连接顺序优化](./phase2/join_order.md)mdbook serve遵循上述指南开展开发任务,将确保电子书生成规范统一且高质量。