PostgreSQL码农集散地

Tom lane“糟老头子坏得很”可不是我说的

文中参考文档点击阅读原文打开, 同时推荐2个学习环境: 

1、懒人Docker镜像, 已打包200+插件:《最好的PostgreSQL学习镜像》

2、有web浏览器就能用的云起实验室: 《免费体验PolarDB开源数据库》

3、PolarDB开源数据库内核、最佳实践等学习图谱:  https://www.aliyun.com/database/openpolardb/activity 

关注公众号, 持续发布PostgreSQL、PolarDB、DuckDB等相关文章. 

Tom lane,目前最老的PG核心comitter

Image

Tom lane,目前最老的PG核心comitter。

外界对他的评价可能是“糟老头子坏得很”. 这个评价绝对不是空穴来风,参考图二的调侃“Tom lane 只会 reject patch”. 

Image

1、从git.postgresql.org可以看到tom lane提交的代码和report大多数都是bug fix, 或者revert已提交的patch, 或者是一些小修小补类的代码. 

Image

2、从pg-hacker maillist (https://www.postgresql.org/list/pgsql-hackers/) 里面看各种的讨论, tom lane像是块铁板, 你提的patch想过去是非常艰难的, 会各种“刁难”你. 有些patch已经讨论了十几年, 很多作者扛不住就放弃了, 干嘛呢? 当雷锋还这么难? 

2022以前, 每个版本的发布都令人惊喜, 很多重大功能. 2022(15版本)开始挤牙膏依赖, 增长速度放缓, tom lane一定程度上阻碍了PG的发展速度.

Image

通过PG官网特征矩阵的数据(https://www.postgresql.org/about/featurematrix/)可以证明以上观点.  

不过仔细想想你们企业的核心数据库产品, 你敢用来存放身家性命的产品, 最重要的是什么?我个人认为的排序:

可靠,安全,稳定,性能,体验,功能。

如果要给PG贴个标签, 在tom lane心中应该是“PG是值得信赖的数据库, 可以放心承载企业核心数据”. 所以他才会如此执着的打磨PG的代码.   我记得tom lane在一次14大版本刚发布不久就发现了一个可能导致数据损坏的bug的事情上大发雷霆的狂喷: 你们这样搞是不行滴, 是会让PG在用户中失去信心滴, PG是要承载企业核心数据滴.

这个定位没毛病, 但是会阻碍PG的流行, 我个人认为并不是非此即彼的, 就像汽车的三大件是发动机、变速箱、底盘, 但是你做好这三大件的基础上可以在其他特性上再突出啊, 例如外观、音响、多媒体等等.  如果所有车子只关注三大件, 还有个毛线的差异化.

我秉承的观点PG要打造好底盘(可靠,安全,稳定), 同时打造好它的扩展能力(指不需要动内核来方便的扩展PG的能力, 让更多外围业务专家可以参与到PG生态的发展.).  从传播角度, 深度参与就意味着投入了时间成本, 粘性是很高的.   

参考我的github (github.com/digoal/blog) :    

11、[《[直播]大话数据库终局之战》](202009/20200926_03.md)     

12、[《未来数据库方向 - 以及PostgreSQL 有价值的插件、可改进功能、开放接口 (202005)》](202005/20200527_06.md)   

所以我非常尊敬tom lane, 也非常不爽的是tom lane对扩展能力patch的reject, 以及对已经明显影响PG基本盘的功能的reject.   例如拒绝babelfish提的wire protocol扩展, 拒绝tam的扩展, 拒绝connection proxy等等. 

Image
吐槽系列还在继续, 欢迎把你踩过的坑砸过来, 往期回顾: 
1 德哥邀你鞭策数据库第1期 - PG MVCC
2 Tom Lane老师, 求求你别挤牙膏了, 先解决xid回卷的问题吧
3 为什么增加只读实例不能提高单条SQL的执行速度?
4 德哥邀你鞭策数据库第4期-逻辑日志居然只有全局开关
5 第5期吐槽:经常OOM?吃内存元凶找到了:元数据缓存居然不能共享
6 第6期吐槽:2024了还没用上DIO,不浪费内存才怪呢!
7 第7期吐槽:今年才等来slot failover,附上海DBA招聘信息
8 第8期吐槽:高并发短连接性能怎么这么差?
9 第9期鞭策:“最先进”的开源数据库上万连接就扛不动了,怪研发咯?
10 第10期吐槽:说删库跑路的都是骗子,千万别信,他们有的宝贝你可能没有!
11 第11期吐槽:关闭FPW来提升性能,你想过后果吗! 本期彩蛋-老板提出变态的要求,你会答应吗?
12 第12期吐槽:SQL执行计划不对?能好就见鬼了!优化器还在用几十年前的参数模板,环境自适应能力几乎为零
13 第13期吐槽:十个中年人有九个发福的,数据库用久了也会变胖!这一期吐槽PG膨胀收缩之痛,tom lane啊您为啥不根治膨胀呢?
14 吐槽(鞭策)PG以来我掉了“一半流量”!老外听不得忠言逆耳吗? (本期抽奖-掌上游戏机)
15 第15期吐槽:没有全局临时表,除了难受还有哪些潜在危害?
16 空缺,因为这一期的吐槽PG社区已经落实了. 
17 第17期吐槽:被DDL坑过的人不计其数!严重时引起雪崩,危害仅次于删库跑路!PG官方不支持online DDL确实后患无穷
18 第18期吐槽:都走索引了为什么还要回表访问?原来是索引里缺少了“灵魂”
19 第19期吐槽:从DuckDB导入到PG后膨胀了5倍,把存储销售乐坏了!什么情况?
今天有娃哈哈数据库技术沙龙, 欢迎下午来现场参加:
5.31杭州娃哈哈有数据库沙龙
Image

文章中的参考文档请点击阅读原文获得. 


欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.  

近期正在写公开课材料, 未来将通过视频号推出, 欢迎关注视频号:

Image