PostgreSQL 12 版本发布!

PostgreSQL全球开发组今天宣布,世界上功能最为强大的开源数据库发布PostgreSQL 12版本发布。html

PostgreSQL 12版在各方面都获得了增强,包括显著地提高查询性能,特别是对大数据集,总的空间利用率方面。sql

这个版本为应用程序开发人员提供了更多的功能,好比对SQL/JSON路径表达式的支持,优化公共表达式(WITH查询)的执行,以及对生成列的支持等。 PostgreSQL除了持续对PostgreSQL系统的可扩展性、稳健性进行开发外,还更多地在本地化、受权控制以及更加容易的管理进行加强。这个版本也引入了 可插拨的表存取接口,来容许开发者在表的建立和使用时使用不一样的存取方式。数据库

“在PostgreSQL后面的开发者社区为PostgreSQL 12版所做的大量工做,让咱们用户能够以较小的成本换来性能和空间管理等储特性,包括企业级安全、后台管理和SQL/JSON支持等功能”,做为全球开发组核心成员之一的Dave Page说道,“这个版本延续了PostgreSQL一直以来的对大大小小各级别数据量的轻松管理,同时在生产环境中的兼具灵活性、可靠性,赢得了长期的声誉”。安全

得益于超过20年以上的开源产品开发,PostgreSQL已成长为各类大小规模组织喜好的开源关系数据库产品。系统持续获得行业的承认,201七、2018连续2年被DB-Engines评选为 "年度优秀数据库" ,2019年度又被OSCON国际开源组织评为“终身成就奖”的开源产品。服务器

全面的性能提高

PostgreSQL 12版本在性能和易维护性方面有了显著的加强,尤为是对索引和分区子系统。post

PostgreSQL 12版对标准索引类型B树索引进行了优化,以使其能够能够更好地处理索引更新频率较高类型的负载的的整体性能,使用最常使用的TPC-C 性能测试,PostgreSQL 12版平都可以提高约40%的空间利用率和查询性能。性能

对分区表的查询也获得了较大改进,特别是对那些有数千个分区的表,而结果只需从几个有限的分区提取数据的查询。PostgreSQL 12版对经过INSERT和COPY指令将数据加入分区表的操做,也有增强,包括如今能够在不阻塞查询的状况下增长新的分区。测试

另外,PostgreSQL 12版对索引的优化也提高了整体的性能,包括生成GiST、GIN或SP-GiST索引的WAL日志的负载显著减小,在GiST类型索引上建立INCLUDE选项的包含索引,SP-GiST索引如今支持<->距离操做的K-NN(即相邻最近)查询,以及CREATE STATISTICS指令如今支持最经常使用值MCV的统计来帮助那些字段值非均匀分布的查询生成更优化的查询计划。大数据

经过使用LLVM,从PostgreSQL 11版引入的JIT即时编译,如今在PostgreSQL 12版中缺省已经是启用状态,JIT即时编译对带有WHERE条件、对象列表、聚合以及一些内部操做都会提供性能上的帮助。固然,用户在安装或是编译时须要包含LLVM模块。优化

对SQL标准一致性和功能的加强

PostgreSQL一直以来以其对SQL标准符合性而著称,这也是其名称由POSTGRES改成PostgreSQL的一个小缘由。PostgreSQL 12版又增长了几个新特性来持续实现对SQL标准的符合性的强化。

PostgreSQL 12版加入了对JSON文档进行查询时使用JSON路径表达式的功能,这也是SQL/JSON中定义的规范。对使用JSONB格式保存的文档,这些查询能够利用已有的索引机制来高效地提取数据。

公共表达式,也称之为WITH查询,在PostgreSQL 12版中能够实现非物化操做处理,这对不少如今已有的查询有很大帮助。目前在这个版本中,WITH 查询的前提条件是非递归查询而且仅可被外层查询引用一次。

PostgreSQL 12版也引入了“生成列”功能,这也是SQL标准中的要求,这些字段值是经过同一表中其它列计算而来的。在这一版本中,PostgreSQL支持“保存生成列值”的功能,即将这些计算出来的数据存储在磁盘上。

本地化

PostgreSQL 12版扩充了对ICU排序规则的支持,容许用户自行定义非标准的排序方式,好比容许大小写不敏感或是按口音不敏感的比较规则。

受权控制

PostgreSQL 经过再次扩展了一些的安全方面的功能来强化了它原本就很稳健的权限控制。这个版本中经过GSSAPI接口支持客户端和服务端的双向加密, 若是在编译时加入OpenLDAP模块,PostgreSQL也支持搜索LDAP服务器的功能。

另外,PostgreSQL 12版如今支持多约束的受权方式。如在使用scram-sha-256的受权方式,PostgreSQL服务器如今能够强制一个客户端在提供 用户名、使用clientcert=verify-full选项,再必须提供有效的SSL证书的方式来强化安全受权。

系统管理

PostgreSQL 12版的REINDEX CONCURRENTLY指令能够在不影响新的索引写入的前提下让用户执行重那建索引操做,这有助于用户实现不停机对较大索引的重建。

还有,PostgreSQL 12版经过使用pg_checksums指令对停机的PostgreSQL来开启或关闭页校验功能,该功能有助于检查已写入磁盘的数据一致性,而之前版本中该操做仅容许在 initdb的阶段来执行。

浏览完整的所有新特性或是改进功能列表,请参阅:https://www.postgresql.org/docs/12/release-12.html

关于PostgreSQL

PostgreSQL是世界上最早进的开源关系型数据库,它的全球社区是一个由数千名用户、开发人员、公司或其余组织而组成。 PostgreSQL项目 有30年以上的历史,起源于加利福利亚的伯克利大学,经历了无数次开发升级。 PostgreSQL的专业特性不只包含顶级商业数据库系统的功能 特性,更是在高级数据库功能、数据库扩展性、数据库安全性和稳定性方面超过了它们。 若想获取到更多关于PostgreSQL的信息或者加入到 PostgreSQL社区,请浏览 PostgreSQL.org 网站。

相关文章
相关标签/搜索