导读:高度优化的增量备份、扩展的 SQL/JSON 支持和可配置的 SLRU 缓存是最新 PostgreSQL 17 版本中三个新功能。
PostgreSQL 全球开发小组正式发布 Postgres 17.这标志着社区、开发人员和 PostgreSQL 代码的主要贡献者的又一个全新里程碑。
作为年度最佳DB-Engines 数据库与 2024 年Stack Overflow 开发人员调查中最受欢迎和最受推崇的数据库,Postgres 继续巩固其作为开发人员和数据库管理员 (DBA) 的首选项地位。
Postgres 的最新版本通常是在 9 月至 10 月期间发布,并不断推出关键更新和功能,推动其得到广泛采用。
在本文中,我将重点介绍 Postgres 17 最具影响力的功能,这些功能将继续推动其采用,并使其成为更多应用程序的更具吸引力的选择。
增量备份:高效、核心支持
多年来,Postgres 用户一直依赖外部工具和其它技术来执行增量备份。在 Postgres 17 中,一项核心备份功能现在已经可用,可以使用细粒度块级方法为增量备份提供了高度优化的处理流程。现在将此功能直接内置到 Postgres 中,确保此功能从第一天起,在所有新的主要和次要版本上都具有稳定性和可用性。
此新功能还引入了一种更有效的方法,可将增量备份离线合并到完整备份中,从而减少完整备份通常所需的服务器负载。此功能由EDB员工、资深 Postgres 黑客和提交者 Robert Haas 设计和实施,预计将受到 DBA 的严重欢迎,尤其是那些管理本地 Postgres 部署的 DBA。
此外,该功能还包括一组强大的挂钩,可将存储存储到许多不同的目标,并支持压缩和 tarball 存储等新功能。
新的内核备份功能意味着更快的恢复时间,从而大幅缩短恢复时间目标 (RTO) — 这是运行大型数据库或高可用性系统的企业的基本要求。这使得 Postgres 成为停机会对业务产生重大影响的组织(例如处理大规模分析和 AI 工作负载的组织)更具吸引力的选择项。
SQL/JSON 和 JSON 增强功能:满足开发人员的需求
SQL/JSON 是 SQL:2023 标准的一部分,它为数据库开发人员提供了一组强大的函数,用于以熟悉SQL的人感觉自然的方式与JSON文档进行交互。
Postgres 在过去的几个版本中一直在逐步增强其 SQL/JSON 功能,但 Postgres 17 标志着一次更重大飞跃。
它引入了备受数据库开发期待的功能,例如查询函数,例如一组用于构建 JSON SQL 对象的丰富的新构造函数。如JSON_TABLE()、JSON_EXISTS()、JSON_QUERY()、JSON_VALUE()等。
除了扩展的 SQL/JSON 支持之外,Postgres 17 还在其 JSONPath 实现中添加了几个开发人员的便利功能,进一步提高了开发者的工作效率。由于 JSON 是开发人员广泛使用的技术,Postgres 现在提供了重要的新功能来直接满足人们的需求。
随着 Postgres 不断扩展对 JSON 的支持,对于需要 JSON 文档存储的应用程序来说,它已成为文档数据库的更强大的替代方案。
借助 Postgres,用户现在可以对所有数据类型(无论是传统关系数据、地理空间数据、矢量数据还是文档数据)的事务行为、安全模型、索引和其他数据库语义实现统一的理解。
在许多情况下,Postgres 可以通过核心功能或其广泛的扩展集合来处理应用程序所需的任何数据类型。这还支持无缝过滤所有这些不同数据类型的混合查询。
Postgres 17 中这些新的 JSON 特性的一个有意思的地方,就是它们背后的团队的协作努力:来自至少3家公司的9位作者为这些新技术的进步做出了贡献。