1.您能简单介绍一下自己吗?您是如何与PostgreSQL社区互动的?
大家好,我是樊智辉,在2007年开始接触Oracle数据库,2010年之前已经熟读了Oracle 大部分文档并做了大量测试。但真正接触PostgreSQL却是在2019年,相比Oracle, PostgreSQL 最大2个不同是 PostgreSQL 是开源的,并且拥有一个很友好的社区。
参与社区讨论也是一件很有挑战的事情,关于沟通技巧、心态等等都是一系列的考验,最后即便你把自己能做的全部做好了(包括良好的代码、文档、patch 拆分、沟通用语等等),很多时候还要进行漫长的等待,因为社区的资源实在是太紧缺了。
2.您第一次接触PostgreSQL是什么时候?是如何走上产品研发道路的?
我在接触PostgresSQL之前,已经有10年多的Oracle 经验。加入PostgreSQL研发组是一个被动选择的过程,第一个月刚好遇到了一家大型物联网企业的攻坚战,在这个攻坚战中发现了PostgreSQL在优化器层面的一些改善空间,这个和我过去的经验也比较匹配,然后就坚定不移地走这条路了。
3.您有参与PG版本功能的迭代吗?主要有哪些贡献?
我会参与开源社区的迭代。目前自己的Patch 有Unique Key 的识别和应用,该Patch处于Review 的状态中,依然在开发的包括 Append 节点对RunTime Partition Prune 的感知。除了提交patch 以外,还有Review 别人的patch和大量的讨论。
4.您在产品规划或产品研发中遇到困难一般会如何解决?最让您感觉自豪(有趣)的事是什么?
通常会自我激励,比如我会和自己对话,“Hi Andy, Can you make a clear understanding about X in 8 hours? Of course, let’s see!”. 通常情况最终都能取得不错的结果。这种对话的关键点在于对问题的清晰描述,后面还会有很多问题的进一步描述,再加上一个时间限制,精神状态会非常好。当然,这么好的状态也是每天都有的。