PostgreSQL 17 发布
PostgreSQL 17 现已发布。公告称“这是世界上最先进的开源数据库的最新版本。”
PostgreSQL 17 在适应新兴数据访问和存储模式的同时,提高了性能和可扩展性显著提高了整体性能,包括彻底改进的 vacuum 内存管理实现、存储访问优化和高并发工作负载改进、批量加载和导出加速以及索引查询执行改进。PostgreSQL 17 具有使全新工作负载和关键系统都受益的功能,例如,增加了使用 SQL/JSONJSON_TABLE 命令的开发人员体验,增强了逻辑复制从而简化了高可用性工作负载和主要版本升级的管理。
PostgreSQL 核心团队成员 Jonathan Katz 表示:“PostgreSQL 17 凸显了推动 PostgreSQL 发展的全球开源社区如何构建增强功能,帮助用户完成数据库之旅的各个阶段。无论是大规模操作数据库的改进,还是建立在令人愉悦的开发人员体验基础上的新功能,PostgreSQL 17 都将增强您的数据管理体验。”
系统范围的性能提升
PostgreSQL 的 vacuum 进程对于系统健康运行至关重要,需要服务器实例资源才能运行。PostgreSQL 17 引入了一种新的 vacuum 内部内存结构,可减少高达 20 倍的内存消耗。提高了 vacuum 的速度,还减少了共享资源的占用,为工作负载释放了更多资源。
PostgreSQL 17 继续改进了 I/O 层的性能。由于对预写日志(WAL)处理的改进,高并发工作负载的 写入吞吐量可能提升至 2 倍。此外,新的流式 I/O 接口加快了顺序扫描(读取表中所有数据)以及 ANALYZE 更新查询计划统计信息的速度。
PostgreSQL 17 还提升了查询执行方面的性能。对于使用 B-tree 索引(PostgreSQL 默认的索引方法)的 IN 子句查询,性能有所提高。此外,BRIN 索引现在支持并行构建。PostgreSQL 17 在包括多项查询规划改进:对 NOT NULL 约束的优化,以及对通用表表达式(WITH 查询)处理的改进。该版本还为加速计算添加了更多 SIMD(单指令多数据)支持,包括在 bit_count 函数中使用 AVX-512。
进一步扩展强大的开发人员体验
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 结合使用时,可以更深入地了解活动会话的等待原因。
更多其他新功能和改进可参阅发行说明。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
🎉开源监控-夜莺发版 7.4,引入两个有意思的 Feature
夜莺开源项目于国庆前夕发布了 v7.4.1 版本,修复了一些 bug,同时也带来了一些新功能。其中最重要的一个功能是:机器支持挂载到多个业务组了。本文将介绍几个重要的变更。 所有变更点 feat: 左侧栏业务组新设计 feat: 机器支持了绑定到多个业务组,机器混部的场景,管理机器更加方便了 feat: 告警规则支持导出到 csv feat: 仪表盘支持导入 “Grafana 仪表盘链接” feat: 仪表盘指标图支持 overrides 设置 feat: 仪表盘时序图图例右侧位置展示时宽度自适应 feat: 仪表盘排行榜图新增 topn 功能 refactor: 仪表盘 Elasticsearch 源支持自动计算时间间隔,查询原始日志内容时支持设置时间格式 refactor: 仪表盘数据源类型变量支持搜索 refactor: 仪表盘匿名访问可选择主题色 refactor: 业务组编辑表单去除 “英文标识” 设置项 refactor: 机器列表原标签拆分成 “机器标签” 和 “用户标签” refactor: 告警规则中的回调地址和全局回调重复,不再重复发送回调通知 fix: 订阅规则,...
- 下一篇
ModStartCMS v8.9.0 图片上传优化,富文本编辑器修复
ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市场,后台一键快速安装 会员模块通用且完整,支持完整的API调用 大文件分片上传,进度条显示,已上传文件管理 强大的模块扩展功能,所有模块可以无缝集成,支持在线安装、卸载模块 完善的开发助手,实现模块、主题的的一键创建 完善的后台权限管理,支持基于RBAC的权限管理系统 后台管理支持使用手机、平板、PC,无论何时何地都可方便管理 第三方登录(QQ、微信、微博、支付宝、微信小程序) 第三方支付支持(微信、支付宝、支付宝当面付、微信扫码、微信小程序) 第三方云存储支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V8.9.0版本更新 2024年09月27日ModStartCMS发布v8...
相关文章
文章评论
共有0条评论来说两句吧...