由PG分会发起的“PostgreSQL ACE深度访谈”栏目,旨在挖掘ACE们对数据库行业的深度洞察,分享他们对行业发展的思考和个人感悟,对广大PGer们具有实际借鉴意义。

以下正文,转载请注明出处,并获得作者允许。

首先感谢PG分会给了这么一个舞台,来介绍和展示自己的家乡和自己,天津人介绍咱们得用唱的(天津快板)。
竹板这么一打,列位看过来,九河下梢天津卫,咱们家底摆一摆,喊麦咱不趁,快板拿起来,哏都特色玩的就是,另类存在,咱们有湖有海有沼泽,还有那九条河,长城高山加王府,咱们一个都不缺,一座城里,三十余座桥,法国,英国意大利,还有那北欧的,摩天巨轮,横跨海河,伦敦之眼到这里,那都得下去,万国建筑,各大门派,坐上敞篷公交车,眼睛都不够用,左面的圣母院,右面的钟楼,这里教堂有的是,就看你爱不爱,各种风格诶,外国都没那么全,英国法国西班牙还有那匈牙利,嘛叫拜占庭,嘛叫希伯来,德意日美外加那奥地利,他们全都往这盖,诶他们全都往这盖,中国百年历史看天津,上海见了也得边靠靠,天津霍元甲,洋鬼子挨个拍,什么民族与大义,天津人心里藏,时间不早了,下回咱再唱,最后一句介绍留给我,要问咱是干嘛的,20年如一日,咱们是搞DB的,什么外企国企加民营和那股份制,咱们都是干过的,诶还外加那互联网,哎外加那互联网。
--此处应该有掌声:)

(图:天津泰达俄罗斯航母主题乐园)

(图:天津卢浮宫—御园酒堡艺术中心)
Austindatabases,这个是我的公众号从2018年底开始写的,后面写了一段时间后,腾讯云blog直接转载,在后面是墨天轮,ITPUB ,CSDN,还有一些媒体也都对接过公众号,有点多现在也搞不清有多少对接的的媒体。
最近在读《乌合之众》,实际上我是想读营销管理类的书籍,读乌合之众是要从根本上理解一种众人心里方面的东西,并进行思考个体和群体之间的关系。营销学每个人都需要,都离不开,专业知识加营销,如同虎豹豺狼有了翅膀,那可就更有意思了。
接触PostgreSQL是在2018年11月,我记得当时非常清楚,到了一个新单位获得一个更高的职位,从资深DBA升级到数据库架构师这个职位,想做出一些与众不同的事情,当时主要的数据库产品基本上在Oracle和MySQL两者中进行选择,些许的应用基于历史因素使用MSSQL,从扩展数据库可选择性的角度,开源的数据库选择并不多如果想做出一些与众不同的事情,并在竞争中脱颖而出必须有新的杀手锏,所以当时开始学习PostgreSQL,我一直认为当初的选择没有错,时间会说明一切,当时很多人都反对,从应用架构师到开发人员,到领导。我记得非常清楚当时的版本是PostgreSQL11,我是从这个版本开始学习PostgreSQL。我觉得做人做事如果都是重蹈覆辙,你只能默默无闻,最后在那个单位推动了PostgreSQL替换了使用Oracle的部分应用业务,因为在开源数据库里面,能替代Oracle的选择在当时或者说现在,对整体业务影响最小的也只有PG。
实际上最开始接触的版本是PG11,后面推动单位使用的版本是PG12,其实我用了3年的时间改变了一些单位之前使用数据库的习惯,比如金融类的企业的标配是Oracle,稍微有一些创新或者省钱点的是MySQL,尤其当时提出如果要替换Oracle,那么必须有分区表功能,或者说比较完善的分区表功能,PG11还不行需要使用pg_pathman,后面PG12的分区表功能完善了,当时给我的冲击是数据库还有更新这么快的一年一个版本,要知道当时的Oracle,MySQL,MSSQL 都不可能一年一个新版本。这也是我在我的文章中给PG的封面都是惊奇队长,在漫威里面惊奇队长是最有力量的,我到现在都认为PG也是开源数据库里面最有力量的数据库产品之一。
基于之前的经验,现在的公司的PG数据库的实例数都非常大,当时我换工作有一个点,就是新的公司要么钱多,要么有PG数据库,越多越好,因为当时在本地,或者说北京要找一个有大量PostgreSQL数据库的公司是非常困难的,但很幸运找到了一个PG数据库的金矿类公司,数据库实例量多,数据库的数据量超多,线下还有windows的PostgreSQL数据库等等,所以我还是比较幸运的,PG数据库每天支撑这十几万的客户的日常业务,不能有闪失,所以PG的能力也一直在锻炼中,可能后面我们还有更大的任务,改造PG到新的状态,可能又是新的挑战。
贡献也谈不上,就是从2018年底开始写PG相关的文章,一边学习一边写,后来就认识了PG分会,参与一些知识分享的主题线上会,文章是一直写截止目前写了1200篇文章,其中的有4分之一都是PostgreSQL的,我们也开发了PostgreSQL vacuum 稳定性平台,也在一些会议上讲述了我们的一些想法和软件的在公司应用后的效果,然后一直在兼职从事PG的培训工作,不到4年,几百人的培训人次是有的,期间也做过某世界500强企业从其他数据库切换到PG的问题解决类的培训工作。
PostgreSQL的extension功能是PostgreSQL与其他数据库最大的不同,也是展现了PostgreSQL包容性和多样性,如果数据库有人性这么一说的话,那么PostgreSQL的人生是丰富多彩的,可以体会不同的人生。
PostgreSQL中刚才谈到了extension的功能是PG与其他数据库划分最大不同的地方,在这个地方应该有一个机制,进行一些判断将恶意的extension功能禁止,我曾经做了一个实验,通过简单的C语言的代码简单加载到extension中,就可以封禁pg_terminal_backend, 和pg_cancel_backend 的命令,让其在数据库中不生效。如果掌握此法,那么如果作为一种病毒出现,通过extension进行传播那么PostgreSQL的运行安全就受到冲击,所以PostgreSQL应该有一个判断机制,如果一个extension 要妨碍关键根本的命令执行,那么一定让这个extension无法挂在到PostgreSQL上。
建议谈不上,从事PostgreSQL的人实际上有两种,我认为,被动型和主动型,我属于主动型在2018年众人都不看好PostgreSQL并且当时实际上也看不到什么未来的情况下,我还是选择学习,支持,推广PostgreSQL, 如果说建议的话,要搞PostgreSQL 那么就去搞,不要一边搞,一边去拿PostgreSQL 对比 Oracle ,MSSQL产品中PG的一些不足,并且在埋怨和悔恨中去工作,这样别扭的人,真心建议还是从众比较好,身体健康和心里健康可能更重要,干就抛出杂念。
线上的比较多,线下的每年都参加分会一年一度的PG大会,今年去了杭州参加了PG中文社区的大会,也说了说我们在PostgreSQL稳定性方面的工作和开发的程序。
在工作中,去年开始我们就准备研发针对PG autovacuum工作中产生问题程序,消除我们当前遇到的问题,我们的业务是在线的,不是工业,或线下使用PostgreSQL, 且业务对于客户都是核心的业务,且包含一些金融的属性,所以PostgreSQL的稳定性在数据量大,业务高峰期IOPS CPU等都较高的情况下,autovacuum在大表上突然触发的确是有影响,所以我们研发了专门去管理大型PG库的稳定性平台,来解决一些业务方面在互联网类应用架设在PostgreSQL上的稳定性的问题,让业务放心使用PG数据库开展业务。
最后,总结为几个关键词:主动、坚定、分享、践行。






