暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

专访 | 一起来看PostgreSQL 13参与贡献的中国力量

本次阅读时长

.

.

引言 | Forward

PostgreSQL全球开发小组宣布,PostgreSQL 13的正式通用版本现已可供下载。该组织发布了对数据库系统所有受支持版本的更新,包括 12.4、11.9、10.14、9.6.19、9.5.23(国际社区支持维护5个最近主要版本)。

图片来源:https://www.wikiwand.com/en/PostgreSQL

PostgreSQL全球开发小组每年会发布一个主要版本,同时支持维护5个最近主要版本。PostgreSQL全球开发人员有500多位,分散在世界各地,彰显了社区强大、稳健的发展节奏和自由、活跃的社区氛围。

回忆之前写过一篇文章提及PG国际社区参与贡献的人员列表中几乎很难看到中国开发者,着PostgreSQL在国内发展越来越受欢迎,有越来越多的国内开发者在默默的参与贡献。

在PostgreSQL 13正式发布通告的贡献者列表中,看到了不少国人姓氏的名字(据统计有30位左右)。故此,中国PG分会向PG13国内贡献者提出了几个问题,来了解他们参与PG 13贡献的具体情况和心路历程。

目前,已收到四位参与贡献者的回复,后续会根据其它贡献者的反馈情况向大家报道,希望PG中国的每位贡献者与我们取得联系,让您的贡献通过我们能够激励更多的人。

序号
姓名
贡献类别
1
Binguo Bao
修复软件bug
2
Chenyang Lu
修复软件bug
3
Cuiping Lin
报告软件bug
4
Dongming Liu
修复软件bug
5
Guancheng Luo
报告软件bug并修复bug
6
Haiying Tang
报告软件bug
7
Hugh Wang
报告软件bug
8
Jesse Zhang
修复软件bug
9
Jian Zhang
报告软件bug
10
Jie Zhang
修复软件bug
11
Li Japin(李建平)
修复软件bug
12
Michael Luo(骆政丞)
修复软件bug
13
Chen Huajun(陈华军)
报告软件bug
14
David Zhang(张大卫)
修复软件bug
15
Cary Huang(黄凯瑞)
修复软件bug
16
Movead Li(李传成)
修复软件bug
17
Rui Hai Jiang(姜瑞海)
报告软件bug并修复bug
18
Shawn Wang(王硕)
代码review
19
Paul Guo
改进软件功能
20
Peifeng Qiu
修复软件bug
21
Pengzhou Tang
修复软件bug
22
Quan Zongliang(权宗亮)
报告软件bug并修复bug
23
Richard Guo
报告软件bug
24
Shenhao Wang
报告软件bug
25
Yang Xiao
修复软件bug
26
Yi Huang(黄毅)
报告软件bug
27
Yigong Hu
报告文档bug
28
ZhenHua Cai
报告软件bug

贡献者专访 | Q&A

以下是四位位资深用户和开发者朋友针对我们得问题给出的回复,希望对大家参与PG源码贡献有所帮助,在此向四位朋友表示感谢!

华军 | 苏宁数据库技术主管

Q1请问您或您的团队在PG 13中主要贡献了什么?

陈华军:我们主要是PostgreSQL的使用者,在使用过程中如果遇到Bug会报告给社区,过去一年中我们向PostgreSQL社区报告了两件Bug。

Q2您的团队有几个人在参与贡献,是出于什么考虑主动参与PG的功能完善?

陈华军:我们生产上大量使用了PostgreSQL,当然希望PostgreSQL这个开源产品越来越可靠,越来越好用,并且有更多的人使用它。这就是我们参与PostgreSQL功能完善的初衷。

Q3您一般会怎么参与贡献,或者参与贡献的基本方式是什么?

陈华军:我们团队在发现开源软件Bug后一般都会报告给社区,当然在报告之前我们也会进行一些调查,尽可能把复现方法甚至问题原因都调查出来。这些开源软件并不限于PostgreSQL,也包括PostgreSQL生态中周边软件,比如Citus,PostGIS,pg_pathman等。

另外,我们也会把使用PostgreSQL的过程中遇到的问题和我们的解决方案分享出来,这有利于PostgreSQL的推广。我本人多次分享过我们基于Citus搭建的分布式PostgreSQL集群的使用经验,我们还计划开源我们自己开发的Citus平滑扩缩容工具,目前这项工作正在积极推进中。

Q4可否为大家分享一下您在参与贡献过程中的心得体会,比如怎么做才能发现一个问题并得到社区相关人员的确认为bug?

陈华军:贡献PostgreSQL社区有很多种方式,对于大多数使用者来说报告自己遇到的Bug是一种很有价值又比较容易实施的方式。当然报告Bug前首先需要确认是否是已知问题,这可以查看PostgreSQL官网上的归档邮件列表。

在报告Bug时,我们需要讲清楚PostgreSQL的行为哪一点和你的期待不一致,为什么你期望的行为是合理的,更重要是要给出复现故障所必须要的材料,比如环境,SQL,操作步骤等等。

对于无法复现的故障,需要能提供一些方便其他人分析的材料,比如错误日志,堆栈等等。PostgreSQL手册的开头专门有一章讲怎么提交Bug报告,建议大家看一下。

传成 瀚高软件研发工程师

Q1请问您或您的团队在PG 13中主要贡献了什么?

李传成:我们团队主要是在进行一些开源贡献方面的工作,在PG13中完成commit的主要是一些bug修复。比如bytea类型长度超过256M之后的读取错误,逻辑备份恢复时因为触发器导致的bug等。进行了很多patch审阅的工作,提高每一个patch的可靠性。

主要做了很多功能行patch,比如内置sharding(原生分布式),并行备份等,不过这些不是PG13要发布的内容,后续如果被接受,可能会在PG 14中发布,也可以访问postgreshub.cn获得我们发布的开放源码包。

Q2您的团队有几个人在参与贡献,是出于什么考虑主动参与PG的功能完善?

李传成:我们团队很多人都在积极关注社区的动态,不仅仅是PG社区还有比较流行的pgpool等社区都有人在参与贡献。主要是想回馈社区,为PG的发展尽一份力。

Q3您一般会怎么参与贡献,或者参与贡献的基本方式是什么?

李传成:社区贡献方式多种,包括代码提交、bug修复、代码review等等,重点突出代码提交,作为瀚高软件的主要研发力量,会集中精力参与到原生分布式功能的开发中,目前主要推动build-in sharding(原生分布式)等工作。

最简单的可以参与审阅patch,从代码层面上判断patch是否可靠,另外可以跑一下测试,从效果层面看一下patch是否达到了作者的预期效果,然后把结果反馈给社区。

另外可以搜索bug邮件列表,找一些pg未解决的bug,去修复这些bug,并提交给社区。己发现bug并提交bug本身也是贡献的一种方式。

Q4可否为大家分享一下您在参与贡献过程中的心得体会,比如怎么做才能发现一个问题并得到社区相关人员的确认为bug?

李传成:PG社区是开放的大家庭,参与门坎很低。发现任何问题只要发个邮件就能把你的问题传达给社区大佬。据我观察一封描述清晰的邮件,基本可以在一天内收到回复,比如是一个需要修复的bug,是一个PG的限制,还是使用方法不正确等等。

建平成都熙雍科技研发工程师

Q1请问您或您的团队在PG 13中主要贡献了什么?

李建平:我们团队针对 PG 13 的主要贡献是修复部分内置连接池,SELinux 相关的 Bug 以及一些代码优化。

Q2您的团队有几个人在参与贡献,是出于什么考虑主动参与PG的功能完善?

李建平:目前我们团队有 2 个人在参与贡献,出于公司业务需要以及个人兴趣而参与 PG 的功能完善。

Q3您一般会怎么参与贡献,或者参与贡献的基本方式是什么?

李建平:通常,我们在遇到问题的时候,首先会确认这是否是 BUG,然后通过修改并进行回归测试,如果一切正常,则向 PG 邮件列表发送相关的Patch 文件,并参数社区讨论。

此外,我们可以订阅 PG 的邮件列表来关注我们感兴趣的内容来参与相关的讨论,或者参与 Code Review。

Q4可否为大家分享一下您在参与贡献过程中的心得体会,比如怎么做才能发现一个问题并得到社区相关人员的确认为bug?

李建平:在参与贡献的过程中,我发现社区的人员都非常热心,对待问题非常严谨。比如说,我之前在发现关于时间相关的一处可以优化的地方,随后通过修改向社区发送 Patch,而 Tom Lane 大神在这个 Patch 的基础之上发现了一处 Bug 并添加了回归测试。

政丞成都文武信息技术研发工程师

Q1请问您或您的团队在PG 13中主要贡献了什么?

骆政丞:我们主要在pg13版本中报告bug以及提供了bug fix的patch。

Q2您的团队有几个人在参与贡献,是出于什么考虑主动参与PG的功能完善?

骆政丞:当前有2人在参与贡献。因为我们公司有自己release的数据库版本,在开源PostgreSQL的基础上,增加了一些企业版的安全功能,增加了一些常见的oracle语法兼容,以及高可用集群。这些功能的开发都需要对pg内核代码进行深入研究,在研究过程中就会发现一些bug,就顺便提交给社区。

Q3您一般会怎么参与贡献,或者参与贡献的基本方式是什么?

骆政丞:在pg版本正式发布前,会有alfa版,beta版,我们一般都会预先使用并测试一下新增的功能,在使用中,提出改进建议以及发现的bug。一般都是用邮件方式沟通交流,将发现的问题与建议发送到邮件列表中。

Q4可否为大家分享一下您在参与贡献过程中的心得体会,比如怎么做才能发现一个问题并得到社区相关人员的确认为bug?

骆政丞:bug提交其实很容易,我们只要在新版本发布前多参与测试工作,或多或少都会发现一些问题,多使用邮件列表和社区里的人交流,能使我们学到更多东西。至于提交bug fix的patch,我们先要对Postgres的内核代码熟悉,修改完后需要运行回归测试,确保没有引入新问题,再将patch提交到邮件列表中,最后在与社区人员以及核心提交者之间的反复沟通交流,并修改代码后,他们就会接受提交。

后记|Afterword

PostgreSQL稳健发展30多年,主要依靠社区组织、生态用户、开发者的力量,是开源让大家联系在一起,是大家让PostgreSQL变得越来越好,变得越来越有价值

作为一个PostgreSQL数据库从业者,再次由衷的向每一位参与贡献的PG工程师、推动PG发展的用户致敬!

最后,欢迎大家积极参与中国PG分会的工作,给予我们鼓励和支持,携手共同推动PostgreSQL在中国更好的发展!


I Love PG

关于我们

中国开源软件推进联盟PostgreSQL分会(简称:中国PG分会)于2017年成立,由国内多家PostgreSQL生态企业所共同发起,业务上接受工信部中国电子信息产业发展研究院指导。中国PG分会是一个非盈利行业协会组织。我们致力于在中国构建PostgreSQL产业生态,推动PostgreSQL产学研用发展。



欢迎投稿

做你的舞台,show出自己的才华 。

投稿邮箱:partner@postgresqlchina.com

                    

                    ——愿能安放你不羁的灵魂

往期回顾

 

活动成就

PostgresConf.CN & PGConf.Asia2020大会预告

PG ACE计划的正式发布

三期PostgreSQL国际线上沙龙活动的举办

六期PostgreSQL国内线上沙龙活动的举办

PGCM高级认证培训的正式开启

经典文章

PostgreSQL 13.0 正式版发布通告

深度报告:开源协议那些事儿

从“非主流”到“潮流”,开源早已值得拥有

Oracle中国正在进行新一轮裁员,传 N+6 补偿

PostgreSQL与MySQL版权比较

PostgreSQL与Oracle:成本、易用性和功能上的差异

使用ora2pg完成从Oracle到Postgres的迁移

精彩专辑

PostgreSQL活动篇

最后修改时间:2020-10-11 09:56:18
文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论