
PostgreSQL Reviewer 指南
数据库科学的发展与建设,既需要我们深入地去理解理论中的精华,同时也需要我们去钻研工程中的细节,而参与 PostgreSQL 内核研发的 Review 流程,无疑是我们推动数据库科学发展的一条有益途径。一方面,代码的评与审,本身就牵涉到内核中的方方面面,成为 Reviewer,参与内核生态建设,可以促进我们以全面、立体的方式,对一款工业级的数据库内核乃至于关系型数据理论建立认识与了解;而另一方面,在分析各种 Patch 的过程之中,我们自身的内核研发能力,同样可以有一个良好的提升,因为每一个 Patch,实际上就代表了一种对于内核的改进思路,而在不断的积累之后,我们对回答“如何研发一款更好的数据库”的水平与能力,将会有一个质量上的飞跃。
本篇文章将会就如何成为一名 PostgreSQL Reviewer 展开讨论。
PostgreSQL 社区的工作模式
想要理解 PostgreSQL 内核的改进流程,我们就必须要对于 PostgreSQL 社区的工作模式,建立一个基本的了解,即我们必须摸清楚对应的程序与流程。
PostgreSQL 社区的组织方式,如图所示:
(www.postgresql.org 网站承担的职责,实际上就可以划分为这四个类别,成为 Reviewer 少不了与源代码和文档打交道,同时也需要我们经常通过社区的渠道,发表我们的想法,并且同其它的成员相沟通协调)
而 PostgreSQL 内核社区的组织方式,则是在 PostgreSQL 社区的基础组建的,参考如下:
换而言之,我们只需要拥有一个国际社区的账户,并且下载好 PostgreSQL 的源代码,就可以自己按照想法设计内核,提交补丁,并且在邮件列表上展开讨论了。这也是我们下面文章中,将会详细介绍的内容。
注册一个国际社区账户
打开 www.postgresql.org,按照图片所示展开操作:
接下来,只需要接受验证邮件,即可注册完成国际社区账户。
订阅邮件列表
(对于参与内核的朋友而言,只需要订阅 pgsql-hackers 即可)
参与内核代码评审
(选择一个你感兴趣的 Patch,即可参与讨论)
(查看邮件列表中发生的有关讨论,可以帮助你理解对应的思路与背景,下载补丁进行本地测试,并且给出意见,则是你的工作)
下载补丁并在本地展开测试
(下载最新版本的 Patch)
(接受仓库最新更新)
(建立一个用于测试 Patch 的分支,并且切换过去,如果是测试多个 Patch 则建立多个分支)
(应用指令合并 Patch, git am ... --rej 将会将我们所指定的 Patch 文件合并进入 PostgreSQL 内核之中)
(如果合入 Patch 出现冲突,将会构建生成 .rej 文件,这种时候就需要我们手动合并冲突)
合并完成以后,通过:
完成 Patch 的整合。
之后可以通过本地测试等办法,就 Patch 的情况展开检验,并且通过邮件列表等方式,给出详细的反馈意见。
写在最后
感谢所有提供支持与帮助的朋友们,祝福各位!