PostgreSQL 全球开发小组发布了 PostgreSQL 17,这是被广泛认为是世界上最先进的开源数据库的最新版本。此版本标志着数据库发展的一个重要里程碑,带来了显着的性能增强和新功能,可满足新兴和成熟的数据管理需求。
PostgreSQL 17 以其强大的基础为基础,提供改进的性能和可扩展性,同时适应当代数据访问和存储模式。此次更新引入了用于真空操作的改进内存管理系统、存储访问优化以及高并发工作负载增强功能。用户可以期待更快的批量加载和导出,以及索引的查询执行改进。
PostgreSQL 核心团队成员 Jonathan Katz 表示:“PostgreSQL 17 强调了推动 PostgreSQL 发展的全球开源社区如何构建增强功能,以帮助用户在数据库旅程的各个阶段使用其功能。”
“无论是针对大规模操作数据库的改进,还是基于令人愉悦的开发人员体验的新功能,PostgreSQL 17 都将增强您的数据管理体验。”
此版本中的突出功能之一是大幅减少了清理进程的内存消耗。新的内部内存结构最多可减少 20 倍的内存使用量,从而加快清理操作速度并释放资源用于其他任务。
由于预写日志 (WAL) 处理的改进,高并发工作负载可受益于高达两倍的写入吞吐量。流式 I/O 接口的引入加速了顺序扫描和 ANALYZE 操作,从而进一步提升了整体性能。
查询执行方面有显著增强,尤其是对于使用 B 树索引的 IN 子句查询。此版本还引入了 BRIN 索引的并行构建,并结合了 SIMD(单指令/多数据)支持来加速某些计算。
对于开发人员来说,PostgreSQL 17 通过添加 JSON_TABLE 扩展了其 JSON 功能,允许将 JSON 数据转换为标准 PostgreSQL 表。该版本还引入了 SQL/JSON 构造函数和查询函数,为处理 JSON 数据提供了更大的灵活性。
批量加载和数据导出的性能得到提升,COPY 命令在导出大行数据时的速度可提高一倍。新的 ON_ERROR 选项允许在发生插入错误时继续导入,从而增强数据迁移过程。
逻辑复制对于实时数据流至关重要,现在有了显著的改进。用户现在可以在不删除逻辑复制槽的情况下执行主要版本升级,从而简化了升级过程。引入逻辑复制的故障转移控制可增强高可用性环境中的弹性。
此版本还关注安全性和运营管理。新的 TLS 选项 sslnegotiation 支持使用 ALPN 进行直接 TLS 握手。添加 pg_maintain 预定义角色可授予用户执行维护操作的权限,而无需完全超级用户访问权限。
备份功能得到扩展,pg_basebackup 现在支持增量备份,并辅以新的 pg_combinebackup 实用程序来重建完整备份。
监控和分析功能得到增强,EXPLAIN 现在显示本地 I/O 操作所花费的时间,并提供了检查数据转换时间和内存使用情况的新选项。监控索引清理进度的功能和会话等待事件的新系统视图可让您更深入地了解数据库操作。
PostgreSQL 的持续发展反映了其作为各种规模组织首选的开源关系数据库的地位。凭借其 25 年的开源开发历史和专门的全球社区,PostgreSQL 17 代表了数据管理技术的又一次飞跃。