跳转至

POSTGRESQL 15 特性

改进排序性能和压缩

在最新版本中,PostgreSQL对其内存和磁盘排序算法进行了改进,基准测试显示,根据排序的数据类型,速度提升了25% – 400%。使用row_number()、rank()、dense_rank()和count()作为窗口函数在PostgreSQL 15中也有性能优势。现在可以并行执行使用SELECT DISTINCT的查询。

基于前一个PostgreSQL版本的异步远程查询的工作,PostgreSQL外部数据包装器postgres_fdw现在支持异步提交。

PostgreSQL 15的性能改进扩展到其存档和备份设施。PostgreSQL 15为写前日志(WAL)文件添加了对LZ4和Zstandard (zstd)压缩的支持,这对某些工作负载可能具有空间和性能优势。在某些操作系统上,PostgreSQL 15支持预获取WAL中引用的页面,以帮助加快恢复时间。PostgreSQL的内置备份命令pg_basebackup,现在支持服务器端压缩备份文件,可以选择gzip、LZ4和zstd。PostgreSQL 15包括使用自定义模块进行归档的能力,这消除了使用shell命令的开销。

表达开发者特性

PostgreSQL 15包括SQL标准MERGE命令。MERGE允许你编写包含INSERT、UPDATE和DELETE操作的条件SQL语句。

这个最新版本增加了使用正则表达式查看字符串的新函数:regexp_count()、regexp_instr()、regexp_like()和regexp_substr()。PostgreSQL 15还扩展了range_agg函数,以聚合在上一版本中引入的多范围数据类型。

PostgreSQL 15允许用户创建使用调用者而非视图创建者的权限查询数据的视图。这个选项,称为security_invoker,增加了一层保护,以确保视图调用者有处理底层数据的正确权限。

更多逻辑复制选项

PostgreSQL 15提供了更多灵活的逻辑复制管理选项。此版本引入了对发布者的行过滤和列列表,让用户可以选择复制表中的一部分数据。PostgreSQL 15增加了简化冲突管理的功能,包括跳过回放冲突事务的能力,以及在检测到错误时自动禁用订阅的能力。此版本还支持在逻辑复制中使用两阶段提交(2PC)。

日志和配置增强

PostgreSQL 15引入了一种新的日志格式:jsonlog。这种新格式使用定义的JSON结构输出日志数据,允许PostgreSQL日志在结构化日志系统中被处理。

此版本让数据库管理员在用户如何管理PostgreSQL配置方面具有更多的灵活性,增加了授予用户修改服务器

级配置参数权限的能力。此外,用户现在可以使用psql命令行工具的\dconfig命令搜索关于配置的信息。

其他改变

PostgreSQL服务器级别的统计现在在共享内存中收集,从而消除了统计收集器进程和定期将此数据写入磁盘的需要。

PostgreSQL 15使得可以将ICU排序规则设为群集或单个数据库的默认排序规则。

此版本还增加了一个新的内置扩展,pg_walinspect,该扩展让用户可以直接从SQL接口查看写前日志文件的内容。

PostgreSQL 15还从公共(或默认)模式中撤销了所有用户除数据库所有者外的CREATE权限。

PostgreSQL 15从PL/Python中移除了长期被弃用的”exclusive backup”模式和对Python 2的支持。

原文:

https://www.postgresql.org/about/news/postgresql-15-released-2526/