重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 443|回复: 0
打印 上一主题 下一主题

PG17 正式发布

[复制链接]
跳转到指定楼层
楼主
发表于 2024-9-26 23:08:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下载位置:

https://www.postgresql.org/ftp/source/v17.0/


PostgreSQL 17 正式发布,全球开发者社区的心血结晶,带来了一系列令人兴奋的新特性和性能提升。

发版通告全文如下

PostgreSQL 全球开发小组今天(2024-09-26)宣布发布 PostgreSQL 17,这是世界上最先进的开源数据库的最新版本。

PostgreSQL 17 以数十年的开源开发为基础,在适应新兴数据访问和存储模式的同时,提高了性能和可扩展性。PostgreSQL 的此版本显著提高了整体性能,包括彻底改进的真空内存管理实现、存储访问优化和高并发工作负载改进、批量加载和导出加速以及索引查询执行改进。PostgreSQL 17 具有使全新工作负载和关键系统都受益的功能,例如,增加了使用 SQL/JSON JSON_TABLE 命令的开发人员体验,增强了逻辑复制,从而简化了高可用性工作负载和主要版本升级的管理。

PostgreSQL 核心团队成员 Jonathan Katz 表示:“PostgreSQL 17 凸显了推动 PostgreSQL 发展的全球开源社区如何构建增强功能,帮助用户在数据库旅程的各个阶段。”“无论是大规模操作数据库的改进,还是建立在令人愉悦的开发人员体验基础上的新功能,PostgreSQL 17 都将增强您的数据管理体验。”

PostgreSQL 是一种创新的数据管理系统,以可靠性、稳健性和可扩展性而闻名,受益于全球开发者社区 25 多年的开源开发,已成为各种规模组织的首选开源关系数据库。

全系统性能提升

PostgreSQL 的 VACUUM 过程对于正常运行至关重要,需要服务器实例资源才能运行。PostgreSQL 17 引入了一种新的 Vacuum 内部内存结构,可将内存消耗减少 20 倍。这提高了 Vacuum 速度并减少了共享资源的使用,从而为您的工作负载提供更多可用资源。

PostgreSQL 17 继续改进其 I/O 层的性能。由于预写日志( WAL ) 处理的改进,高并发工作负载的写入吞吐量可能提高 2 倍。此外,新的流式 I/O 接口加快了顺序扫描(从表读取所有数据)的速度,并加快了 ANALYZE 更新计划器统计信息的速度。

PostgreSQL 17 还将其性能提升延伸到查询执行。PostgreSQL 17 提高了使用 B 树索引(PostgreSQL 中的默认索引方法)的 IN 子句查询的性能。此外,BRIN 索引现在支持并行构建。PostgreSQL 17 包括多项查询规划改进,包括对 NOT NULL 约束的优化,以及对处理通用表表达式(WITH 查询)的改进。此版本增加了更多 SIMD(单指令/多数据)支持以加速计算,包括使用 AVX-512 执行 bit_count 函数。

进一步拓展强大的开发者体验

PostgreSQL 是第一个添加 JSON 支持 (2012) 的关系数据库,PostgreSQL 17 增加了对 SQL/JSON 标准的实现。现在 JSON_TABLE 在 PostgreSQL 17 中可用,允许开发人员将 JSON 数据转换为标准 PostgreSQL 表。PostgreSQL 17 现在支持 SQL/JSON 构造函数( JSON, JSON_SCALAR, JSON_SERIALIZE ) 和查询函数 ( JSON_EXISTS, JSON_QUERY, JSON_VALUE ),为开发人员提供了与 JSON 数据交互的其他方式。此版本增加了更多 jsonpath 表达式,重点将 JSON 数据转换为原生 PostgreSQL 数据类型,包括数字、布尔、字符串和日期/时间类型。

PostgreSQL 17 为 MERGE 添加了更多功能,用于条件更新,包括 RETURNING 子句和更新视图的能力。此外,PostgreSQL 17 还具有批量加载和数据导出的新功能,包括使用 COPY 命令导出大行时的性能提升高达 2 倍。当源和目标编码匹配时,COPY 性能也会得到改进,并且包含一个新选项 ON_ERROR,即使出现插入错误,也允许继续导入。

此版本扩展了管理分区中的数据和跨远程 PostgreSQL 实例分布的数据的功能。PostgreSQL 17 支持在分区表上使用标识列和排除约束。用于在远程 PostgreSQL 实例上执行查询的 PostgreSQL 外部数据包装器 (postgres_fdw) 现在可以向远程服务器推送 EXISTS 和 IN 子查询,以实现更高效的处理。

PostgreSQL 17 还包含一个内置的、独立于平台的、不可变的排序规则提供程序,该提供程序保证不可变,并提供与 C 排序规则类似的排序语义,但使用 UTF-8 编码而不是 SQL_ASCII。使用此新排序规则提供程序可确保您的基于文本的查询将返回相同的排序结果,无论您在何处运行 PostgreSQL。

逻辑复制增强功能以实现高可用性和主要版本升级

逻辑复制用于在许多用例中实时传输数据。但是,在此版本之前,想要执行主要版本升级的用户必须删除逻辑复制槽,这需要在升级后将数据重新同步到订阅者。从 PostgreSQL 17 升级开始,用户不必删除逻辑复制槽,从而简化了使用逻辑复制时的升级过程。

PostgreSQL 17 现在包含逻辑复制的故障转移控制,使其在高可用性环境中部署时更具弹性。此外,PostgreSQL 17 还引入了 pg_createsubscriber 用于将物理副本转换为新逻辑副本的命令行工具。

管理安全和运营的更多选项

PostgreSQL 17 进一步扩展了用户管理其数据库系统的整个生命周期的方式。PostgreSQL 有一个新的 TLS 选项 sslnegotiation,允许用户在使用 ALPN(在 ALPN 目录中注册为 postgresql)时执行直接 TLS 握手。PostgreSQL 17 还添加了 pg_maintain 预定义角色,该角色允许用户执行维护操作。

PostgreSQL 中包含的备份实用程序 pg_basebackup 现在支持增量备份,并添加了 pg_combinebackup 实用程序来重建完整备份。此外,pg_dump 还包含一个名为 --filter 的新选项,可让您选择在生成转储文件时要包含哪些对象。

PostgreSQL 17 还增强了监控和分析功能。EXPLAIN 现在显示本地 I/O 块读写所花费的时间,并包含两个新选项:SERIALIZE 和 MEMORY,可用于查看网络传输数据转换所花费的时间以及使用了多少内存。PostgreSQL 17 现在报告清理索引的进度,并添加了 pg_wait_events 系统视图,当与 pg_stat_activity 结合使用时,可以更深入地了解活动会话等待的原因。

附加功能

PostgreSQL 17 中添加了许多其他新功能和改进,这些功能和改进可能对您的用例也有帮助。请参阅发行说明,了解新功能和更改功能的完整列表。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-28 21:05 , Processed in 0.110786 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表