PostgreSQL全球开发小组今天宣布发布 PostgreSQL 12,这是世界上先进的开源数据库的新版本。
PostgreSQL 12的增强功能 包括对查询性能的显着改进,尤其是在较大的数据集上,以及整体空间利用率方面。该发行版为应用程序开发人员提供了新功能,例如 SQL/JSON path表达式 支持,对常见表表达式(WITH)查询执行方式的优化以及支持生成列。
PostgreSQL社区继续支持PostgreSQL的可扩展性和健壮性,进一步增加了国际化,身份验证的功能,并提供了管理PostgreSQL的简便方法。此版本还引入了 可插入表存储接口,该接口允许开发人员创建自己的存储数据的方法。
其增强功能简要概述如下:
PostgreSQL 12中的主要增强功能包括:
- 总体性能改进,包括:
- 优化B树索引的空间利用率和读写性能
- 分区性能增强,改进了具有数千个分区的表的查询性能,提高使用INSERT和COPY的插入性能以及可在不阻塞查询的情况下执行ALTER TABLE ATTACH PARTITION(将源表变为目标表的分区表)能力
- 优化公共表达式,允许将公共表表达式(CTE)内联到外部查询中
- 减少创建GiST,GIN和SP-GiST索引的WAL开销
- 支持GiST索引通过子句INCLUDE创建覆盖索引
- 可以通过CREATE STATISTICS定义多列共值(MCV)统计信息,以获取针对测试多个非均匀分布列的查询的更好计划
- 管理功能的增强,包括:
- REINDEX CONCURRENTLY 可以重建索引而不会阻塞对其表的写入
- pg_checksums可以启用/禁用离线集群中的页面校验和(用于检测数据损坏)
- 增加CREATE INDEX,REINDEX,CLUSTER,VACUUM FULL和pg_checksums的进度报告统计信息
- 支持SQL/JSONhttps://www.postgresql.org/docs/12/functions-json.html#FUNCTIONS-SQLJSON-PATHpath语言
- 支持存储生成列
- 非确定性 ICU归类,实现不区分大小写和不区分重音的分组和排序
- 新的身份验证功能,包括:
- 使用GSSAPI身份验证时对TCP / IP连接的加密
- 使用DNS SRV记录发现LDAP服务器
- 多因素身份验证,通过使用clientcert=verify-full选项和新的身份验证方法(pg_hba.conf内)
详细情况请参看官方文档: