PostgreSQL 15 新特性
jf wang Lv7

2022-10-13,Postgresql 15 发布了。这一版主要提升了排序性能,支持对WAL日志压缩。为开发者增加了一些新功能提升使用体验。

核心业务

排序优化

官方给出的新排序后性能提升25%~400%。窗口函数:row_number()rank()dense_rank()count()也得到了性能提升。

count()是个常用的函数。

select distinct支持并行执行。

只在在做分析业务时有用

postgres_fdw支持异步提交。

WAL日志支持压缩

支持LZ4zstd对WAL日志进行压缩。支持对WAL中引用的预取。

1、能节省磁盘空间。WAL日志尺寸很大。
2、对于主从热备的环境下,在主节点做大数据写入、删除时减少网络开销

pg_basebackup也支持lz4zstd压缩。

全套支持

逻辑复制优化

逻辑复制支持行过滤和列列表,允许复制表中的数据子集。复制过程中的冲突解决优化得更简单。

外围业务

新功能

  • 支持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 许可协议。转载请注明出处!