PostgreSQL 17 发布:性能与开发者体验双提升

在距离上一个重要版本发布一年后,PostgreSQL 全球开发组宣布发布 PostgreSQL 17,这是世界上最先进的开源数据库的最新版本,带来了在性能、可扩展性和适应新兴数据存储与访问模式方面的增强。

PostgreSQL 17 亮点

在发布公告中,PostgreSQL 核心团队成员 Jonathan Katz 表示:

“PostgreSQL 17 展示了全球开源社区如何推动 PostgreSQL 的发展,构建出帮助用户在数据库旅程中各个阶段的增强功能。无论是对大规模数据库操作的改进,还是为开发者提供更好的体验,PostgreSQL 17 都将提升你的数据管理体验。”

系统性能提升

PostgreSQL 17 的一大亮点是对真空处理过程的内存管理进行了彻底改进。这个关键操作现在消耗的内存最多可减少 20 倍,从而加快了真空处理速度,减少了对共享资源的使用,留出更多资源供其他工作负载使用。

此外,新版本在 I/O 层面也有改进。通过对预写日志 (WAL) 处理的优化,高并发工作负载的写入吞吐量最高可提升两倍。

新增的流式 I/O 接口加快了顺序扫描的速度,并在更新计划器统计数据时加速了 ANALYZE 命令的执行。

在查询执行方面,PostgreSQL 17 提升了使用 IN 子句和 B 树索引(默认索引方法)时的查询性能。BRIN 索引现在支持并行构建,此外还对查询计划进行了多项优化,包括对非空约束的优化处理以及对常用表表达式的更好处理。

新版本还引入了更多的 SIMD(单指令多数据)支持,利用 AVX-512 加速了诸如 bit_count 等函数。

更好的开发者体验

PostgreSQL 在 JSON 支持方面继续领先,新增了 SQL/JSON 的 JSON_TABLE 命令,允许开发者将 JSON 数据转换为标准 PostgreSQL 表。

新版本还支持 SQL/JSON 构造函数和查询函数,例如 JSON_EXISTSJSON_QUERYJSON_VALUE,提供了更多与 JSON 数据交互的方式。同时,还新增了更多的 jsonpath 表达式,以便更方便地将 JSON 数据转换为 PostgreSQL 原生数据类型。

用于条件更新的 MERGE 命令现在支持 RETURNING 子句,并且可以更新视图。在批量加载和数据导出方面也进行了优化,使用 COPY 命令导出大行数据的速度最多可提升两倍。COPY 命令还新增了 ON_ERROR 选项,允许在插入错误发生时继续导入。

此外,PostgreSQL 17 扩展了对分区数据和跨远程实例分布式数据的管理功能。分区表现在支持标识列和排他约束。postgres_fdw 外部数据封装器可以将 EXISTSIN 子查询推送到远程服务器,以提高处理效率。

新版本还包括了一个内置的、平台无关的不可变排序提供程序。该功能确保了不同平台上的文本排序结果一致性,提供了类似 C 排序但使用 UTF-8 编码的排序语义。

逻辑复制增强

对于使用逻辑复制的用户来说,PostgreSQL 17 简化了主版本升级过程,无需再删除逻辑复制槽。这一改进减少了停机时间,并避免了升级后的数据重新同步需求。

新版本还引入了逻辑复制的故障转移控制,增强了高可用性环境下的弹性能力。一个新的命令行工具 pg_createsubscriber 帮助将物理副本转换为新的逻辑副本。

安全性与运维改进

在安全性和运维管理方面也有多项进展。新增的 TLS 选项 sslnegotiation 允许通过应用层协议协商 (ALPN) 进行直接的 TLS 握手。预定义角色 pg_maintain 已加入,允许用户执行维护操作。

备份工具也得到了重大更新。pg_basebackup 现在支持增量备份,而新的 pg_combinebackup 工具可以从增量备份中重建完整备份。pg_dump 工具新增了 --filter 选项,允许在生成转储文件时选择特定对象。

监控和分析功能也得到了增强。EXPLAIN 命令现在显示了本地 I/O 块读取和写入所花费的时间,并新增了两个选项:SERIALIZEMEMORY,这些选项对于分析数据转换时间和内存使用情况非常有用。

新版本还报告了索引真空处理的进度,并新增了 pg_wait_events 系统视图,以便更好地了解会话等待情况。

当然,PostgreSQL 17 还有许多其他令人兴奋的新功能和改进。你可以访问官方公告查看详细内容,或者阅读发布说明了解所有更新细节。

PostgreSQL 17 的完整文档已提供 HTML 和 man 页格式,还可以在线浏览 HTML 和 PDF  格式的文档。

The post PostgreSQL 17 发布:性能与开发者体验双提升 first appeared on Linux迷.

版权声明:
作者:siwei
链接:https://www.techfm.club/p/157050.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>