PostgreSQL 全球开发组今日宣布发布 PostgreSQL 14,这是世界上 最先进的开源数据库 的最新版本。
PostgreSQL 14 带来了一系列功能,可帮助开发人员和管理员部署其数据驱动型应用程序。PostgreSQL 继续在复杂数据类型方面不断创新,包括更便捷地访问 JSON 以及支持非连续数据范围。最新版本延续了 PostgreSQL 在提高高性能和分布式数据工作负载方面的趋势,在连接并发性、高写入工作负载、查询并行性和逻辑复制方面取得了进展。
"PostgreSQL 的最新版本提高了用户大规模管理数据工作负载的能力,增强了可观测性,并包含帮助应用程序开发人员的新功能," PostgreSQL 核心团队成员 Magnus Hagander 表示。"PostgreSQL 14 证明了全球 PostgreSQL 社区致力于响应反馈,并持续交付被大小组织部署的创新数据库软件。"
PostgreSQL 是一种创新的数据管理系统,以其可靠性和健壮性而闻名,它受益于 全球开发者社区 超过 25 年的开源开发,已成为各种规模组织的优选开源关系型数据库。
自 PostgreSQL 9.2 发布以来,PostgreSQL 一直支持操作 JSON 数据,尽管检索值曾使用独特的语法。PostgreSQL 14 现在允许您 使用下标访问 JSON 数据,例如,像 SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; 这样的查询现在可以正常工作。这使 PostgreSQL 与常用于从 JSON 数据检索信息的语法保持一致。添加到 PostgreSQL 14 的下标框架可以普遍扩展到其他嵌套数据结构,并且在此版本中也应用于 hstore 数据类型。
范围类型(也首次发布于 PostgreSQL 9.2)现在通过引入“多范围”数据类型来支持非连续范围。多范围是重叠的、有序的范围列表,这使得开发人员可以编写更简单的查询来处理复杂的范围序列。PostgreSQL 的原生范围类型(日期、时间、数字)支持多范围,其他数据类型也可以扩展以使用多范围支持。
PostgreSQL 14 在使用大量连接的工作负载方面提供了显著的吞吐量提升,部分基准测试显示速度提升了 2 倍。此版本延续了最近在 B 树索引管理方面的改进,通过减少 频繁更新索引 的表的索引膨胀。
PostgreSQL 14 引入了将查询 流水线化 到数据库的能力,这可以显著提高高延迟连接的性能,或对于许多小型写入(INSERT/UPDATE/DELETE)操作的工作负载。由于这是一个客户端功能,您可以使用流水线模式连接任何现代 PostgreSQL 数据库,使用 14 版客户端或 使用 14 版 libpq 构建的客户端驱动程序。
分布式 PostgreSQL 数据库将受益于 PostgreSQL 14。在使用 逻辑复制 时,PostgreSQL 现在可以将进行中的事务流式传输给订阅者,从而在订阅者上应用大型事务时获得显著的性能优势。PostgreSQL 14 还为支持逻辑复制的逻辑解码系统增加了一些其他性能增强。
用于处理跨 PostgreSQL 和其他数据库的联合工作负载的 外部数据包装器,现在可以在 PostgreSQL 14 中利用查询并行性。此版本在 postgres_fdw(连接到其他 PostgreSQL 数据库的外部数据包装器)中实现了此能力。
除了支持查询并行性之外,postgres_fdw 现在还可以批量插入数据到外部表,并使用 IMPORT FOREIGN SCHEMA 指令导入表分区。
PostgreSQL 14 将其性能提升扩展到了 vacuuming 系统,包括优化以减少 B 树的开销。此版本还增加了一个 vacuum "紧急模式",旨在防止事务 ID 回绕。用于收集数据库统计信息的 ANALYZE,由于其自身的性能改进,在 PostgreSQL 14 中运行速度显著提高。
PostgreSQL 的 TOAST 系统的压缩,用于存储文本块或几何图形等大型数据,现在可以 进行配置。PostgreSQL 14 为 TOAST 列添加了 LZ4 压缩,同时保留了对 pglz 压缩的支持。
PostgreSQL 14 为帮助监控和可观测性增加了多项新功能,包括能够 跟踪 COPY 命令的进度、写入预日志 (WAL) 活动,以及复制槽的统计信息。启用 compute_query_id 可让您通过多个 PostgreSQL 功能唯一地跟踪查询,包括 pg_stat_activity、EXPLAIN VERBOSE 等。
查询规划和执行得益于 PostgreSQL 14 的增强。此版本包括对 PostgreSQL 查询并行性支持的多项改进,包括并行顺序扫描的性能提升、PL/pgSQL 在使用 RETURN QUERY 命令时执行并行查询的能力,以及允许 REFRESH MATERIALIZED VIEW 执行并行查询。扩展统计信息 现在可以在 PostgreSQL 14 中用于表达式。此外,使用嵌套循环连接的查询可能会通过 PostgreSQL 14 中添加的额外缓存获得性能优势。
扩展统计信息 现在可以在 PostgreSQL 14 中用于表达式。此外,窗口函数 现在可以受益于增量排序,这是在 PostgreSQL 13 中引入的功能。
允许进行代码块事务控制的 存储过程,现在可以通过使用 OUT 参数来返回数据。
PostgreSQL 14 引入了使用 date_bin 函数将时间戳“分组”或对齐到特定间隔的能力。此版本还添加了符合 SQL 标准的 SEARCH 和 CYCLE 子句,以帮助递归 通用表表达式 的排序和循环检测。
PostgreSQL 14 使得使用 pg_read_all_data 和 pg_write_all_data 预定义角色,方便地为用户在表、视图和模式上分配只读和只写权限。
此外,此版本现在将符合标准的 SCRAM-SHA-256 密码管理和身份验证系统设置为新 PostgreSQL 实例的默认设置。
PostgreSQL 是世界上最先进的开源数据库,拥有数千名用户、贡献者、公司和组织的全球社区。PostgreSQL 的诞生已有 30 多年的工程积累,始于加州大学伯克利分校,并以无与伦比的发展速度不断进步。PostgreSQL 成熟的功能集不仅与顶级专有数据库系统相媲美,而且在高级数据库功能、可扩展性、安全性和稳定性方面超越了它们。