伊丽莎白·加勒特·克里斯滕森:Postgres 贡献入门:初学者的体验

伊丽莎白·加勒特·克里斯滕森:Postgres 贡献入门:初学者的体验

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

这篇文章讲述了作者第一次向PostgreSQL提交补丁的经历。作者在与Stephen Frost讨论HOT更新和填充因子时,想到了一个文档补丁的想法。作者发现PostgreSQL文档中缺少对BRIN索引的引用,而HOT更新可以与BRIN兼容。作者提交了一个补丁来更新文档。文章还介绍了提交补丁的过程,包括使用邮件列表和等待反馈。作者感谢PostgreSQL社区对他的支持和帮助。

🔎

延伸解读

非代码贡献者的参与路径

作者并非C开发者,但通过提交文档补丁成功为PostgreSQL做出贡献。这表明PostgreSQL社区欢迎各种形式的贡献,尤其是文档改进。对于不熟悉内核开发的用户,从文档入手是低门槛且有效的参与方式。文章也提到,文档与源代码一同打包,因此文档补丁同样需要经过社区审查和提交者合并。

补丁提交与邮件列表文化

PostgreSQL不使用GitHub的Pull Request流程,而是依赖邮件列表和补丁文件。作者通过git format-patch生成补丁,并发送到pgsql-hackers邮件列表。邮件列表虽然传统,但能高效触达全球开发者,且讨论会被镜像到网页,便于搜索和追踪。对于新手,订阅邮件列表并观察讨论是学习Postgres内部机制的好方法。

Commitfest与自动化测试

补丁提交后通常会被添加到Commitfest,这是一个跟踪补丁审查和提交进度的系统。Commitfest还驱动CF bot自动测试补丁,确保其与最新代码兼容。对于代码补丁,运行回归测试是必要步骤;文档补丁虽可跳过,但审查者仍会检查。这一机制帮助社区管理大量补丁,避免遗漏。

等待反馈与社区标准

提交补丁后等待反馈是最紧张的部分,反馈可能具体且严格。作者强调,PostgreSQL有30年历史和高标准,反馈旨在确保软件质量。社区成员友好且支持,但审查过程要求贡献者具备厚脸皮和耐心。一旦补丁被提交者接受并合并,就会出现在主分支或稳定分支,并随版本发布。

❓

Q&A

作者是如何开始向PostgreSQL提交补丁的?

作者在与Stephen Frost讨论时想到更新文档的补丁,发现PostgreSQL文档缺少对BRIN索引的引用。

PostgreSQL的补丁提交过程是怎样的?

补丁提交通过邮件列表进行,作者需要创建补丁文件并发送到pgsql-hackers邮件列表。

补丁提交后,作者需要等待什么?

作者需要等待反馈,反馈可能会很具体,且需要由Postgres的提交者接受并合并到代码库中。

PostgreSQL社区对新贡献者的态度如何?

PostgreSQL社区非常友好,强调包容性和多样性,作者在其中得到了很多支持和帮助。

补丁一旦合并,用户如何使用这些更改?

补丁合并后会出现在开发版本的主分支上,用户需要更新数据库到最新版本才能使用这些更改。

作者在补丁提交过程中遇到了哪些挑战?

作者在等待反馈时感到紧张,反馈可能会非常具体,需要厚脸皮来应对。

🏷️

标签

➡️

继续阅读