dram.me

阅读PostgreSQL代码

补遗

  1. 实际上PostgreSQL仓库中有部分代码是第三方代码,例如这个提交中涉及到的tzcode。—— 2017-09-22

PostgreSQL的代码可读性很高,文档和代码注释也很详尽,另外社区发展也很健康,所以考虑读一读代码。

统计了当前版本(REL_10_BETA4)的代码量,C代码有70万行,非常庞大的。考虑看早期版本(PG95-1_01),因为从版本发布说明来看,早期版本也已经有很高的成熟度,很多工具和概念一直沿用至今,这个版本的C代码量为9万行。

PG95的目录结构很清晰(当前版本与此没有大的改动),主要包括以下几部分:

历史说明中可以看到,psql工具是Postgres95引入的,替换了之前的客户端工具monitor,那么代码阅读也可以由此开始。阅读时可以参考早期的psql文档。