PostgreSQL全球开发集团今天宣布发布PostgreSQL13,这是世界上最先进的开源数据库的最新版本。
PostgreSQL13对其索引和查找系统进行了重大改进,使大型数据库受益,包括节省空间和提高索引性能,加快使用聚合或分区的查询的响应时间,使用增强的统计信息时更好的查询规划,等等。
除了并行化清空和增量排序等要求很高的功能外,PostgreSQL 13还为大大小小的工作负载提供了更好的数据管理体验,并针对日常管理进行了优化,为应用程序开发人员提供了更多便利,并增强了安全性。
PostgreSQL核心团队成员彼得·艾森特劳特(Peter Eisentraut)表示,PostgreSQL13展示了我们的全球社区在促进世界上最先进的开源数据库能力方面的协作和奉献精神。每个版本带来的创新以及其可靠性和稳定性的声誉是更多人选择使用PostgreSQL应用程序的原因。
PostgreSQL是一种创新的数据管理系统,以其可靠性和健壮性著称,得益于全球开发者社区超过25年的开源开发,已成为各种规模组织的首选开源关系数据库。
PostgreSQL 13建立在以前PostgreSQL版本的基础上,可以高效地处理B树索引(标准数据库索引)中的重复数据。这降低了B-treeindex所需的总体空间使用率,同时提高了整体查询性能。
PostgreSQL13引入了增量排序,其中来自查询中较早步骤的已排序数据可以加快较后步骤的排序。此外,PostgreSQL现在可以使用扩展的统计信息系统(通过CREATE STATISTICS访问)来为带有OR子句和IN/ANY查找列表的查询创建改进的计划。
在PostgreSQL13中,更多类型的聚合和分组集合查询可以利用PostgreSQL的高效散列聚合功能,因为具有大型聚合的查询不必完全装入内存。使用分区表的查询性能得到了提升,因为现在有更多的情况可以修剪分区,并且可以直接连接分区。
清理是PostgreSQL管理的重要部分,使数据库能够在更新和删除行后回收存储空间。这个过程也会带来管理上的挑战,尽管之前的PostgreSQL版本已经做了一些工作来减轻清理的开销。
PostgreSQL 13通过引入索引的并行化真空来继续改进清理系统。除了提供的清理性能优势外,此新功能的使用还可以调整到特定的工作负载,因为管理员可以选择要运行的并行工作进程的数量。除了这些性能优势外,数据插入现在还可以触发自动真空过程。
复制插槽用于防止预写日志(WAL)在副本收到之前被删除,可以在PostgreSQL 13中进行调整,以指定要保留的WAL文件的最大数量,并帮助避免磁盘不足错误。
PostgreSQL 13还增加了管理员监视数据库活动的更多方法,包括引用EXPLAIN中的WAL使用统计数据、流式基本备份的进度和分析命令的进度。此外,可以使用新的pg_verifybackup命令检查pg_base backup命令输出的完整性。
PostgreSQL13使得处理来自不同数据源的PostgreSQL数据类型变得更加容易。此版本在其SQL/JSON路径支持中添加了datetime()函数,可将有效的时间格式(例如ISO 8601字符串)转换为PostgreSQL原生类型。此外,UUIDv4生成函数gen_Random_uuid()现在无需安装任何扩展即可使用。
PostgreSQL的分区系统更加灵活,因为分区表完全支持逻辑复制和BEFORE行级触发器。
PostgreSQL 13中的FETCH FIRST语法现在已扩展为包括WITH TIES子句。如果指定WITH TIES,则根据ORDER BY子句,WITH TIES包括具有结果集中最后一行的任何行。
PostgreSQL的扩展系统是其健壮性的关键组件,因为它允许开发人员扩展其功能。在以前的版本中,新扩展只能由数据库超级用户安装。为了更容易地利用PostgreSQL的可扩展性,PostgreSQL 13添加了可信扩展的概念,它允许数据库用户安装超级用户标记为可信的扩展。默认情况下,某些内置扩展被标记为可信,包括pgcrypto、tablefunc、hstore等。
对于需要安全身份验证方法的应用程序,PostgreSQL 13允许客户端在使用SCRAM身份验证时要求信道绑定,并且PostgreSQL外部数据包装器(Postgres_Fdw)现在可以使用基于证书的身份验证。
PostgreSQL是世界上最先进的开源数据库,拥有数以千计的用户、贡献者、公司和组织的全球社区。PostgreSQL从加州大学伯克利分校开始,经过30多年的工程建设,一直以无与伦比的发展速度继续发展。PostgreSQL成熟的功能集不仅可以与专有数据库系统相媲美,而且在高级数据库系统方面也会超越它们,并且在功能、可扩展性、安全性和稳定性方面都超过了它们。