PostgreSQL 17 正式发布!作为全球领先的开源数据库之一,PostgreSQL 17 在性能、可扩展性以及对新数据存储和访问模式的支持上都有了显著进步。接下来,让我们一起来看看新版本带来了哪些改进。
PostgreSQL 17 亮点功能
全方位性能提升
- Vacuum 内存管理优化:PostgreSQL 17 对 vacuum 过程中的内存管理进行了大幅改进,内存使用量最高可减少 20 倍,不仅加快了 vacuum 的运行速度,还减少了对系统共享资源的竞争。
- I/O 层面的增强:通过调整预写日志 (WAL) 的处理机制,在高并发环境下,写入吞吐量几乎提高了一倍。
- 新的流式 I/O 接口:新接口加快了顺序扫描的速度,在使用
ANALYZE
命令收集统计信息时更加迅速。 - 查询执行效率提升:B-tree 索引下 IN 子句的查询速度得到了改善。
- BRIN 索引支持并行创建:现在,可以并行创建 BRIN 索引,此外还改进了查询规划器,比如更有效地处理 NOT NULL 约束和常用表表达式。
- SIMD 技术强化:PostgreSQL 17 还扩展了 SIMD(单指令多数据)技术的应用范围,特别是利用 AVX-512 指令集来加速
bit_count
等函数的计算,进一步提高了数据处理的速度。
增强的开发者体验
- 增强的 JSON 支持:PostgreSQL 一直以出色的 JSON 处理能力著称,新版本增加了 SQL/JSON 的
JSON_TABLE
命令,在将 JSON 数据转换为标准 PostgreSQL 表格时更加容易。 - 新增 JSON 查询函数:引入了
JSON_EXISTS
、JSON_QUERY
和JSON_VALUE
等新的 SQL/JSON 构造器和查询函数,丰富了与 JSON 数据交互的方式。同时,对 jsonpath 表达式的扩展,让 JSON 数据向原生 PostgreSQL 数据类型的转换更加便捷。 - 改进的 MERGE 命令:现在,
MERGE
命令支持RETURNING
子句,并且可以用于更新视图。此外,批量数据加载和导出也变得更加高效;使用COPY
令导出大数据量的速度提升了两倍。并为COPY
命令新增了ON_ERROR
选项,允许在遇到插入错误时继续执行导入操作,提高了数据处理的灵活性。 - 分区表和远程数据管理升级:PostgreSQL 17 对分区数据和跨远程实例分布的数据管理功能进行了扩展。分区表现在支持标识列以及排除约束。
postgres_fdw
外部数据包装器能够将EXISTS
和IN
查询推送到远程服务器执行,从而提升整体处理效率。 - 一致的文本排序:新版本还提供了一个内置的、平台无关的、不可变的排序机制。它能确保无论在哪种平台上,都能得到一致的文本排序结果,采用 UTF-8 编码并提供类似于 C 排序规则的排序语义。
逻辑复制功能升级
- 简化主版本升级:PostgreSQL 17 让使用逻辑复制的用户,在进行主要版本升级时更加轻松。现在,升级过程中不再需要删除逻辑复制槽,从而减少了系统停机时间,并降低了升级后重新同步数据的需求。
- 增强的故障转移控制:为了提高高可用环境下的稳定性,新版本引入了逻辑复制的故障转移控制机制。在发生故障时,系统能够更平稳地切换到备用节点,确保服务的连续性。
- 新的命令行工具:PostgreSQL 17 新增了
pg_createsubscriber
工具,可以方便地将物理副本转换为逻辑副本,简化了配置过程,让设置和管理逻辑复制变得更加直观和高效。
安全与操作管理升级
- TLS 协商优化:PostgreSQL 17 在安全性方面进行了改进,新增了 TLS 选项
sslnegotiation
,支持通过应用层协议协商 (ALPN) 直接进行 TLS 握手,提高了连接的安全性,并简化了加密通信的配置过程。 - 预定义维护角色:引入了一个新的预定义角色
pg_maintain
,赋予用户执行数据库维护操作的权限,可以更方便地管理日常维护任务,同时保持最小权限原则。
备份与恢复增强
- 增量备份支持:备份工具
pg_basebackup
现在支持增量备份。此外,新加入的pg_combinebackup
工具可以从增量备份中重建完整的数据备份,为恢复提供了更多灵活性。 - 更灵活的转储选项:
pg_dump
工具现在提供了filter
选项,允许在创建转储文件时指定需要包含或排除的对象,从而实现更精细的数据备份控制。
监控与分析能力提升
- EXPLAIN 命令加强:
EXPLAIN
命令现在能够显示本地 I/O 块读写的时间,帮助开发者更好地理解查询性能瓶颈。此外,还增加SERIALIZE
和MEMORY
两个新选项,用于分析数据转换时间和内存使用情况。 - 索引清理进度报告:PostgreSQL 17 能够报告索引清理的进度,便于管理员了解维护任务的状态。
- 会话等待状态查看:新增
pg_wait_events
系统视图,可以更容易地监控和诊断会话等待事件。
最后,PostgreSQL 17 还带来了许多其他新功能和改进。你可以访问官方公告进行查看,或阅读发布说明来了解详细更新内容;官方还提供了 HTML 和 PDF 格式的完整 man page 文档,方便你查看和参考。
最新评论
尝试了一下,居然被你发现了🥹
咦!这个月的视频居然翻译了,站长越来越勤劳了啊!
应该是通过 VMware 更新服务器偷鸡成功🤭
感谢!可以下载,使用多线程下载可以下的更快