PostgreSQL 17 带来了巨大的性能改进、新的增量备份等等

PostgreSQL 17

正如它年复一年地在九月到十月期间呈现的那样, PostgreSQL 17新版本已宣布上线 和之前的所有版本一样, 首要任务仍然是性能改进和优化 资源,尤其是 VACUUM、I/O 和查询等操作,而此版本最重要的新功能是增量备份。

对于商业用户来说,更新带来了一系列改进,简化了数据库管理和使用。尽管 PostgreSQL 历史上一直是关系数据库,但此版本扩展了其与处理 JSON 文档的高级功能的集成,该功能通常与 MongoDB Atlas 相关。

PostgreSQL 17 中的新增功能

在这个新版本的 PostgreSQL 17 中, VACUUM 操作中的新数据结构, 这可将内存消耗减少多达 20 倍,使这些操作在共享资源方面更快、更高效。

性能改进、回写日志管理 (WAL) 已得到优化,在具有许多并发查询的系统上实现高达两倍的写入性能。有人提出了一个 流式 I/O 接口可改进顺序搜索 并在执行 ANALYZE 操作后更新统计信息。

除此之外 对带有“IN”子句的查询进行了改进 通过使用B树索引,实现了BRIN索引的并行构建,优化了NOT NULL检查,加速了公共表表达式(CTE)的处理,并且针对密集计算,合并了SIMD指令,例如AVX-512,加速诸如“bit_count”函数之类的操作。

另一个引人注目的新颖之处是 JSON 的新功能, 自从 用户现在可以使用标准 SQL 命令查询 JSON 数据类型。 由于新的表格功能,这成为可能 json,它将 JSON 数据转换为表格结构。从那里,用户可以使用子句进行查询 FROM 在 SQL 中,允许以关系格式返回数据。添加了 `JSON_TABLE` 函数将 JSON 数据转换为标准 PostgreSQL 表。

新的增量备份功能 在 PostgreSQL 17 中 允许您仅备份自上次备份以来所做的更改 完整或增量,可优化带宽使用并减少存储。尽管 PostgreSQL 已经提供了诸如 WAL 归档之类的解决方案,该解决方案复制预写日志 (WAL) 以维护数据库的必要部分,但版本 17 首次引入了执行增量副本的本机机制。该系统不仅通过减少对性能的影响来最大限度地减少操作期间的中断,而且还显着减少恢复时间,这是一个关键方面,因为恢复备份对于用户来说通常是一个缓慢且令人担忧的过程。

实施平台独立引擎 处理区域设置属性,从而允许查询结果排序中的行为保持一致。该引擎在对值进行排序时会考虑特殊字符的存在和区分大小写等因素。逻辑复制机制现在简化了数据库升级过程,无需在迁移到新版本时删除逻辑复制槽或重新同步数据。

其他突出的变化:

  • 使用“COPY”命令导出长字符串的速度提高了两倍。
  • 当源编码和目标编码匹配时优化复制。
  • 添加了“ON_ERROR”选项,以允许在插入数据时发生错误的情况下继续导入。
  • 添加了在分区表中使用具有唯一标识符的列的功能。
  • 实现了故障转移功能,以切换到容错配置中的备份服务器。
  • 添加了新的 pg_createsubscriber 实用程序以将物理副本转换为逻辑副本。
  • 引入了“ssnegotiation”选项,可直接使用 ALPN TLS 扩展协商安全 TLS 连接。
  • 新增预定义角色pg_maintain,赋予用户执行DBMS维护相关操作的权限

最后,如果你有兴趣了解更多,可以咨询详情 在下面的链接中。


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