2022 年 10 月 13 日 - PostgreSQL 全球开发组今日宣布发布 PostgreSQL 15,这是世界上最先进的开源数据库的最新版本。
PostgreSQL 15 延续了近几个版本的性能改进,在管理本地与分布式部署中的工作负载时带来了显著收益,其中包括排序性能提升。此版本还通过加入广受欢迎的 MERGE 命令,进一步改善了开发者体验,并增强了数据库状态的观测能力。
PostgreSQL 核心团队成员 Jonathan Katz 表示:“PostgreSQL 开发者社区持续构建能够简化高性能数据工作负载运行方式、同时提升开发者体验的功能。PostgreSQL 15 充分展示了开放式软件开发如何帮助我们交付一款既适合应用开发、又能保障关键数据安全的数据库。”
PostgreSQL 是一个以可靠性和健壮性著称的创新型数据管理系统。得益于全球开发者社区 25 年以上的开源开发积累,它已成为各类组织首选的开源关系型数据库。
在这一最新版本中,PostgreSQL 改进了其内存与磁盘排序算法。基准测试表明,根据被排序的数据类型不同,速度提升可达 25% 到 400%。在 PostgreSQL 15 中,将 row_number()、rank()、dense_rank() 和 count() 用作窗口函数时,也能获得性能收益。使用 SELECT DISTINCT 的查询现在还可以并行执行。
在上一版 PostgreSQL 对异步远程查询支持的基础上,PostgreSQL 外部数据包装器 postgres_fdw 现已支持异步提交。
PostgreSQL 15 的性能改进同样扩展到了归档与备份能力。PostgreSQL 15 为预写式日志(WAL)文件压缩增加了 LZ4 与 Zstandard(zstd)支持,这在某些工作负载下可以同时带来空间与性能收益。在部分操作系统上,PostgreSQL 15 还支持预取 WAL 引用的页面,以帮助缩短恢复时间。PostgreSQL 的内建备份命令 pg_basebackup 现在支持服务器端备份压缩,可在 gzip、LZ4 和 zstd 之间选择。PostgreSQL 15 还支持使用自定义模块进行归档,从而避免调用 shell 命令带来的额外开销。
PostgreSQL 15 包含符合 SQL 标准的 MERGE 命令。借助 MERGE,用户可以在单条 SQL 语句中编写包含 INSERT、UPDATE 和 DELETE 操作的条件式逻辑。
这一版本还新增了一组用于正则表达式处理的新函数,包括 regexp_count()、regexp_instr()、regexp_like() 和 regexp_substr()。PostgreSQL 15 还扩展了 range_agg 函数,使其能够聚合上一版本引入的 multirange 数据类型。
PostgreSQL 15 还允许用户创建在调用者权限下执行查询的视图,而不是使用视图创建者权限。这一选项名为 security_invoker,可额外强化权限边界,确保视图调用者在访问底层数据时具备正确权限。
PostgreSQL 15 为管理逻辑复制提供了更高灵活性。此版本为发布端引入了行过滤和列列表能力,让用户可以只复制表中的部分数据。PostgreSQL 15 还增加了多项冲突管理能力,包括跳过重放冲突事务,以及在检测到错误时自动禁用订阅。此外,此版本也支持在逻辑复制中使用两阶段提交(2PC)。
PostgreSQL 15 引入了一种新的日志格式:jsonlog。该格式以预定义的 JSON 结构输出日志数据,使 PostgreSQL 日志更便于接入结构化日志系统。
此版本还为数据库管理员提供了更灵活的 PostgreSQL 配置管理方式,允许向用户授予修改服务器级配置参数的权限。此外,用户现在还可以借助 psql 命令行工具中的 \dconfig 命令,快速查询配置相关信息。
PostgreSQL 的服务器级统计信息现在被收集到共享内存中,从而移除了统计收集进程,也不再需要周期性地将这些数据写入磁盘。
PostgreSQL 15 现在允许将 ICU 排序规则 设为整个集簇或单个数据库的默认排序规则。
此版本还新增了一个内建扩展 pg_walinspect,使用户可以直接通过 SQL 接口检查预写式日志文件的内容。
PostgreSQL 15 还允许从 public(即默认)模式中撤销除数据库所有者之外所有用户的 CREATE 权限。
PostgreSQL 15 删除了长期弃用的“独占备份”模式,同时也移除了 PL/Python 对 Python 2 的支持。
PostgreSQL 是世界上最先进的开源数据库,拥有一个由数千名用户、贡献者、公司和组织组成的全球社区。PostgreSQL 起源于加州大学伯克利分校,建立在 30 多年的工程积累之上,并始终保持着无与伦比的发展速度。PostgreSQL 成熟的特性集不仅能够匹配顶级专有数据库系统,而且在高级数据库功能、可扩展性、安全性与稳定性方面更胜一筹。
PostgreSQL 是世界上最先进的开源数据库,拥有一个由数千名用户、贡献者、公司和组织组成的全球社区。PostgreSQL 起源于加州大学伯克利分校,建立在 30 多年的工程积累之上,并始终保持着无与伦比的发展速度。PostgreSQL 成熟的特性集不仅能够匹配顶级专有数据库系统,而且在高级数据库功能、可扩展性、安全性与稳定性方面更胜一筹。
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
有关上述功能及其他改进的详细说明,请参阅以下资源:
您可以通过以下方式获取 PostgreSQL 15:
其他工具与扩展可在 PostgreSQL Extension Network 获取。
PostgreSQL 15 附带 HTML 文档与手册页,您还可以在线浏览 HTML 与 PDF 格式的文档。
PostgreSQL 使用 PostgreSQL 许可证,这是一种类似 BSD 的宽松许可证。该许可证已获 OSI 认证,因其灵活且适合商业使用而广受赞誉,因为它不限制 PostgreSQL 在商业和专有应用中的使用。再加上多家公司支持以及代码公共所有权,这使 PostgreSQL 对希望在自身产品中嵌入数据库的厂商极具吸引力,无需担心费用、供应商锁定或许可条款变化。
网站
邮箱
Postgres、PostgreSQL 和大象标志(Slonik)均为 加拿大 PostgreSQL 社区协会 的注册商标。如果您希望使用这些标志,必须遵守商标政策。
PostgreSQL 得到了众多公司的支持,这些公司赞助开发人员、提供托管资源,并给予项目财务支持。请查看我们的赞助商页面,了解项目的重要支持者。
此外,还有大量提供 PostgreSQL 支持服务的公司,从个人顾问到跨国企业均有覆盖。
如果您希望向 PostgreSQL 全球开发组或一个获认可的社区非营利组织捐赠,请访问我们的捐赠页面。