您的位置:首页 > IT > 正文

环球速讯:PostgreSQL 16 发布首个 Beta 版本

来源:OSCHINA     时间:2023-05-26 08:21:29


(相关资料图)

PostgreSQL 16 的第一个测试版现已可供下载。此版本包含 PostgreSQL 16 的所有功能预览,但 beta 版本的某些细节可能会在测试期间发生变化。

以下为 PostgreSQL 16 beta 1 主要功能亮点:

性能优化

此版本为 x86 和 ARM 架构引入了对使用 SIMD 的 CPU 加速的支持,包括对处理 ASCII 和 JSON 字符串以及数组和子事务搜索的优化。此外,PostgreSQL 16 还为 PostgreSQL 的客户端库 libpq 引入了负载平衡。 PostgreSQL 16 包括查询执行方面的性能改进。此版本增加了更多查询并行性,包括允许并行执行FULLRIGHT联接,以及并行执行string_aggarray_agg聚合函数。 PostgreSQL 16 可以在SELECT DISTINCT查询中使用增量排序。还有一些针对窗口查询的优化,RANGELIST分区查找的改进,以及对RIGHTOUTER查询中“反连接”的支持。 PostgreSQL 16 还可以将使用COPY并发批量加载数据的性能提高高达 300%。

逻辑复制增强

逻辑复制让 PostgreSQL 用户可以将数据实时流式传输到其他 PostgreSQL 或其他实现逻辑协议的外部系统。在 PostgreSQL 16 之前,用户只能在主实例上创建逻辑复制发布者。 PostgreSQL 16 增加了在备用实例上执行逻辑解码的能力,为用户提供了更多分配工作负载的选项,例如,使用比主实例繁忙的备用实例来逻辑复制更改。 PostgreSQL 16 还包括对逻辑复制的多项性能改进。包括允许订阅者并行应用大型事务,使用PRIMARY KEY以外的索引在UPDATEDELETE操作期间执行查找,并允许在初始化期间使用二进制格式复制表。

开发者体验

PostgreSQL 16 继续实施用于操作 JSON 数据的 SQL/JSON 标准,包括对 SQL/JSON 构造函数(例如JSON_ARRAY()JSON_ARRAYAGG()等)和身份函数 (IS JSON) 的支持。 此版本还添加了 SQL 标准ANY_VALUE聚合函数,该函数返回聚合集中的任意值。为方便起见,PostgreSQL 16 现在允许指定非十进制整数文字,例如0xff0o7770b101010,并使用下划线作为千位分隔符,例如5_432。 此版本向psql客户端添加了对扩展查询协议的支持。用户可以执行查询,例如SELECT $1 + $2,并使用\bind命令替换变量。

安全功能

PostgreSQL 16 继续让用户能够授予对功能的特权访问权限,而无需具有新预定义角色的超级用户。其中包括pg_maintain,它允许执行诸如VACUUMANALYZEREINDEX等操作,以及pg_create_subscription,它允许用户创建逻辑复制订阅。此外,从这个版本开始,逻辑复制的订阅者作为表所有者而不是超级用户在表上执行事务。 PostgreSQL 16 现在允许在pg_hba.confpg_ident.conf文件中使用正则表达式来匹配用户名和数据库名。此外,PostgreSQL 16 添加了在pg_hba.confpg_ident.conf中包含其他文件的功能。 PostgreSQL 16 还增加了对 SQL 标准SYSTEM_USER关键字的支持,该关键字返回用于建立会话的用户名和身份验证方法。 PostgreSQL 16 还增加了对 Kerberos 凭证委托的支持,它允许postgres_fdwdblink等扩展使用经过身份验证的凭证连接到其他服务。 此版本还为客户端添加了几个新的面向安全的连接参数。包括require_auth,其中客户端可以指定它愿意从服务器接受哪些身份验证方法。 现在可以将sslrootcert设置为system,以指示 PostgreSQL 使用客户端操作系统提供的受信任的证书颁发机构 (CA) 存储。

监控与管理

添加了几个新的监控功能,包括提供有关 I/O 统计信息的新pg_stat_io视图。此版本还提供了最后一次扫描表或索引的时间戳。用于pg_stat_activity的归一化算法也有改进。 此版本包括对页面冻结策略的改进,这有助于提高清理和其他维护操作的性能。 改进了对文本排序规则的一般支持,它提供了文本排序方式的规则。 PostgreSQL 16 将 ICU 设置为默认排序规则提供程序,还添加了对预定义的unicodeucs_basic排序规则的支持。 PostgreSQL 16 为pg_dump添加了额外的压缩选项,包括对lz4zstd压缩的支持。

其他变化

PostgreSQL 16 删除了promote_trigger_file选项以启用对备用数据库的提升。 PostgreSQL 16 引入了 Meson 构建系统,最终将取代 Autoconf。 启用 DirectIO 的开发人员标志,以及在订阅者中指定origin=none时使用逻辑复制在两个表之间进行双向复制的能力。 PostgreSQL 16 现在支持最低版本的 Windows 10。

PostgreSQL 16 beta下载地址|发布公告,可在文档中查看PostgreSQL 16 的所有新功能。

相关文章