PostgreSQL码农集散地

今晚19:30聊一聊PG17新特性,是不是在挤牙膏

今晚19:30聊一聊PG17新特性,是不是在挤牙膏. 有想法的兄弟朋友来麦,Tom lane又拒绝了一些新特性,太不爽了, 他自己的crunchydata databridge用得起飞。

预约直播:

可以先回顾一下我之前发的一篇PG17新特性的文章:  
《PostgreSQL 17 到底值不值得期待? 看完这篇就明白了》

1、支持块级别增量备份与恢复: 对于特别大的库非常棒, 数据文件的备份终于不需要每次都全拷贝了, 可以只备份上次备份以来修改过的数据块.

2、支持逻辑复制failover、switchover: 16支持了standby开启逻辑复制功能, 17的增强是在基于流复制的HA解决方案中支持了逻辑复制的failover(而且是0丢失的).

3、支持COPY错误处理: 以前COPY遇到异常的行会报错退出, 现在支持了skip error row. 不过还有记录error row, 支持也是早晚的事.

4、JSON类型处理能力增强: 主要增强了jsonpath的功能, 总之使用PG处理JSON是很顺手的.

5、vacuum性能改进: 引入TidStore数据结构, 打破存储dead tupleids的上限(只要内存足够, 索引再也不需要被多次扫描), 并且大幅度提升vacuum了效率?

6、index 性能优化: 支持并行创建brin索引; gist/sp-gist索引支持增量排序场景; btree倒序增强等.

7、高并发锁竞争优化: 通过一系列wal锁优化, 提升高并发写入性能.

8、性能优化: 批量导入性能提升; merge append提升union性能; 通过增量排序提升group by性能; 减少分区表partitionwise join内存消耗; postgres_fdw 支持semi-join pushdown等;

9、新增GUC参数: 新增了一系列的GUC参数提升数据库管理灵活性.

10、SQL语法、函数功能增强: 分区表分裂与合并、merge语法、生成列、exclude约束等功能增强.

11、管理手段增强: 支持login 事件、新增维护角色、读写分离一致性函数支持等.

12、内部统计信息、系统视图增强: 新增等待事件视图、增强检查点统计信息、增强并行操作统计信息、增强范围类型的统计信息维度、增强standby统计信息、增强io统计信息

13、table access method 接口增强: 新增了自定义Option的接口, undo回滚段am可能快来了.

14、扩展接口能力增强: 新增钩子、支持自定义等待事件、新增自定义注入点、支持DSM注册等.

15、wire protocol、libpq协议增强: 继续加强吧, 希望国产数据库厂商开发兼容mysql、sqlserver等协议更容易.

看完是不是有点失落? 为什么xid64、undo回滚段、TDE等万众期待的功能还是没有等来. 但17依旧是值得期待的版本, 毕竟块级增量备份和恢复、逻辑复制failover、垃圾回收性能改进(一定程度缓解了xid wrapped问题)、高并发性能提升都是不错的. 另外AM接口不断增强(很可惜被tom lane无情拒绝了), 估计undo回滚段管理未来的版本也快来了.

好消息是抽奖还在继续-KubeBlocks定制游戏机

Image

感谢 KubeBlocks 社区赞助周边礼品。KubeBlocks 是开源数据库管理控制面,支持在 K8s 上运行和管理数据库、消息队列以及其他类型的数据基础设施。KubeBlocks 本身也是个非常优秀的基于 K8s 的 PostgreSQL operator,欢迎大家试用产品。以下是他们家的公众号。

抽奖方法:  转发本文, 同时关注以上KubeBlocks公众号(云猿生聊技术)回复抽奖,近几天公布获奖名单.