PostgreSQL 15 新特性
2022-10-13,Postgresql 15 发布了。这一版主要提升了排序性能,支持对WAL日志压缩。为开发者增加了一些新功能提升使用体验。
核心业务
排序优化
官方给出的新排序后性能提升25%~400%。窗口函数:row_number()
、rank()
、dense_rank()
和count()
也得到了性能提升。
count()
是个常用的函数。
select distinct
支持并行执行。
只在在做分析业务时有用
postgres_fdw
支持异步提交。
WAL日志支持压缩
支持LZ4
和zstd
对WAL日志进行压缩。支持对WAL中引用的预取。
1、能节省磁盘空间。WAL日志尺寸很大。
2、对于主从热备的环境下,在主节点做大数据写入、删除时减少网络开销
pg_basebackup
也支持lz4
、zstd
压缩。
全套支持
逻辑复制优化
逻辑复制支持行过滤和列列表,允许复制表中的数据子集。复制过程中的冲突解决优化得更简单。
外围业务
新功能
- 支持SQL标准
merge
命令。 - 查询字符串字段时支持正则表达式:regexp_count()、regexp_instr()、regexp_like()和 regexp_substr()。
- 视图增加
security_invoker
选项,增加视图的安全性。
merge
在多表合并时有用。场景也是数据计算、分析。
字符串查询支持正则,用处有限。小需求使用~
运算符就解决了,复杂的需求应该使用全文索引了。
运维
支持
jsonlog
格式日志。JSON格式日志会降低日志内容纯度。只是提高可读性。
其实PostgreSQL的日志我更需要可以支持自由转发的功能。当前日志要么记入文件,要么转发到syslog
。通过syslog
能实现转发。但只支持UDP模式,不支持TCP模式。这导致长日志会被截断甚至丢失。这个很恶心!ICU排序优化。
这应该能提升跨OS集群架构的稳定性。当前不同OS对ICU的支持不太一样。可能会导致跨OS集群有些OS上查询字符条件时无法命中。
删除了过时业务的支持,放弃Python 2的支持。
- 本文标题:PostgreSQL 15 新特性
- 本文作者:jf wang
- 创建时间:2022-10-19 13:07:34
- 本文链接:https://www.wangjunfeng.com.cn/2022/10/19/postgresql-15/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!