微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL 12 beta 1发布 新特性预览

Postgresql 12 beta 1 发布了,此版本包含了 Postgresql 12 最终版本中可用的所有功能的预览,但某些细节可能会在 12 正式发布之前发生变化。新特性包括

索引性能功能和管理

Postgresql 12 改进了标准 B 树索引的整体性能,同时改进了这些索引的空间管理。除了性能提升之外,这些改进还减少了需要经常修改的 B 树索引的大小。

此外,Postgresql 12 还增加了并发重建索引的功能,这使得可以在不阻止对索引进行任何写入的情况下执行 REINDEX 操作。此功能应该有助于在生产环境中管理 Postgresql 数据库时可能导致停机的冗长索引重建。

Postgresql 12 扩展了几种专用索引机制的功能。创建覆盖索引的能力,即 Postgresql 11 中引入的 INCLUDE 子句,现已添加到 GiST 索引中。SP-GiST 索引现在支持支持距离(<->)操作的数据类型执行 K 近邻(K-NN)查询的能力。

创建 GiST、GIN 或 SP-GiST 索引时生成的预写日志(WAL)开销量在 Postgresql 12 中也显着降低,这提高了 Postgresql 集群的磁盘利用率,同时为连续存档与流复制等功能提供了多种好处。

内联 WITH 查询(公用表表达式)

公共表表达式(也称为 WITH 查询)现在满足以下几个条件则可以在查询自动内联:

  • 不是递归的

  • 没有任何副作用

  • 仅在查询的后续部分引用一次

这将删除 Postgresql 8.4 中引入 WITH 子句以来一直存在的“优化范围”选项。

如果需要,可以使用 MATERIALIZED 子句强制 WITH 查询实现:

<pre style="Box-sizing: border-Box; transition: all 0.2s ease 0s; margin: 0px; padding: 0px; border: 0px; font: inherit; vertical-align: baseline;">WITH c AS MATERIALIZED ( SELECT * FROM a WHERE a.x % 4 = 0 ) SELECT * FROM c JOIN d ON d.y = a.x;</pre>

分区

Postgresql 12 在处理具有数千个分区的表时,性能提高了,并且只需要使用少量分区操作。Postgresql 12 还改进了 INSERT 和 copY 在分区表中的性能。现在可以在不阻塞分区表上的并发查询的情况下执行 ATTACH PARTITION。此外,Postgresql 12 现在允许使用外键来引用分区表。

sql/JSON 的 JSON 路径查询规范

Postgresql 12 现在允许根据 sql:2016 标准中的 sql/JSON 规范执行 JSON 路径查询。与 XML 的 XPath 表达式类似,除了比较 JSON 文档中的值之外,JSON 路径表达式还允许评估各种算术表达式和函数

可以使用 GIN 索引加速这些表达式的子集,从而允许跨多组 JSON 数据执行高性能查找。

排序规则

Postgresql 12 现在支持对 ICU 提供的排序规则进行不区分大小写和重音不敏感的比较,也称为“非确定性排序规则”。使用时,这些排序规则可以为比较和排序提供便利,但也可能导致性能损失,因为排序规则可能需要对字符串进行额外检查。

可插拔表存储接口

Postgresql 12 引入了可插入表存储接口,允许创建和使用不同的表存储方法。可以使用 CREATE ACCESS METHOD 命令将新的访问方法添加到 Postgresql 集群,然后将其添加到 CREATE TABLE 上具有新 USING 子句的表中。

可以通过创建新的表访问方法来定义表存储接口。在 Postgresql 12 中,认使用的存储接口是堆访问方法,它目前是唯一的内置方法

页面校验和

pg_verify_checkums 命令已重命名为 pg_checksums,现在支持在脱机的 Postgresql 集群中启用和禁用页面校验和的功能

认证和连接安全

GSSAPI 现在支持客户端和服务器端加密,可以使用 hostgssenc 和 hostnogssenc 记录类型在 pg_hba.conf 文件中指定。如果使用 OpenLDAP 编译 Postgresql,Postgresql 12 还允许基于 DNS SRV 记录发现 LDAP 服务器。

详情查看更新说明:

https://www.postgresql.org/about/news/1943

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐