PostgreSQL 16 带来性能改进、功能等等

PostgreSQL的

PostgreSQL,也称为Postgres,是一个开源的、面向对象的关系数据库管理系统。

经过 11 个月的开发,PostgreSQL 16 新版本正式发布。这个新的稳定版数据库管理系统将获得五年的更新支持,直至 2028 年 11 月。同时,这也标志着 PostgreSQL 11.x 分支的终结,该分支是目前仍在支持的最老版本,将于 11 月 9 日停止维护。

对于那些还不熟悉 PostgreSQL 的人来说,它也被称为 Postgres,是一个免费的开源关系数据库管理系统(RDBMS) ,旨在提供一个基于可扩展性和符合技术标准的数据库。

PostgreSQL 16的主要新功能

PostgreSQL 16 新版本增强了逻辑复制的访问控制工具。例如,新增了一个预定义函数“pg_create_subscription”,允许用户获得创建新订阅的权限。

客户端已使用标准 libpq 库添加了负载均衡支持。负载均衡允许客户端连接到不同的主机,连接顺序可以指定或随机。如果目标主机不可用,则会尝试连接到其他服务器。连接建立后,会话中的请求将发送到选定的服务器。

此外,还进行了优化,并改进了查询规划器的工作,因为它提供了表连接操作“FULLY”和“RIGHT JOIN”的并行化。

PostgreSQL 16 还扩展了对“Collat​​ion”区域设置的支持,允许您根据字符含义设置排序规则和比较方法。默认情况下,它现在使用 ICU 区域设置而不是 libc 区域设置进行编译。

逻辑复制性能得到了提升,因为实现了并发运行处理器的使用,并且实现了对没有主键的表使用 B 树索引,从而无需在查找记录时进行顺序扫描,并且一些二进制格式表的初始同步也得到了加速。

逻辑复制机制的另一项改进是,现在允许将添加、删除或更新记录时对数据库所做的更改传输到另一台服务器;它还扩展了从备份服务器复制更改的功能。

PostgreSQL 16还新增了对表双向逻辑复制的支持,允许在不同服务器上的两个表之间同步更改。新增的复制功能支持创建多服务器配置(双活模式),在这种模式下,INSERT、UPDATE 和 DELETE 操作可以同时执行。

其他显著变化包括:

  • 优化了“RIGHT JOIN”和“OUTER JOIN”操作的使用,以查找不在连接表中的行(“反连接”)。
  • 提高了将聚合函数与 DISTINCT 或 ORDER BY 子句结合使用的查询的优化计划的效率。
  • 增量排序用于加速 SELECT DISTINCT 查询。
    VACUUM 操作策略已得到改进,以减少需要锁定整个表的情况。
  • 在 x86 和 ARM 架构上,实现矢量处理器指令 (SIMD) 来加速处理 ASCII 字符串、JSON 数据操作以及执行数组查找和子事务。
  • “auto_explain”模块现在支持记录传递给参数化查询的值。
  • 提高了 pg_stat_statements 和 pg_stat_activity 视图中使用的请求跟踪算法的准确性。
  • 监控 DBMS 性能的功能已得到扩展。 添加了服务视图 » pg_stat_io »,其中包含反映各种后端(后台工作程序、autovacuum 等)和对象对 I/O 系统的负载的统计信息。
  • 服务视图 » pg_stat_all_tables » 添加了一个新字段,其中包含有关表或索引上次扫描时间的信息。

最后,如果您有兴趣了解更多信息,可以点击以下链接查看详情


在 Google 中将其添加为首选来源