内容简介:PostgreSQL 12 已经发布,该版本在各方面都得到了加强,包括显著地提升查询性能,特别是对大数据集,总的空间利用率方面。 这个版本为应用程序开发人员提供了更多的功能,比如对 SQL/JSON 路径表达式的支持,优化...
PostgreSQL 12 已经发布,该版本在各方面都得到了加强,包括显著地提升查询性能,特别是对大数据集,总的空间利用率方面。
这个版本为应用程序开发人员提供了更多的功能,比如对 SQL/JSON 路径表达式的支持,优化公共表达式(WITH
查询)的执行,以及对生成列的支持等。 PostgreSQL 除了持续对 PostgreSQL 系统的可扩展性、稳健性进行开发外,还更多地在本地化、授权控制以及更加容易的管理进行增强。这个版本也引入了 可插拨的表存取接口,来允许开发者在表的创建和使用时使用不同的存取方式。具体如下:
全面的性能提升
PostgreSQL 12版本在性能和易维护性方面有了显著的增强,尤其是对索引和分区子系统。
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/about/news/1976/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET 4高级程序设计(第4版)
Matthew MacDonald / 博思工作室 / 人民邮电出版社 / 2011-6 / 148.00元
《ASP.NET 4高级程序设计(第4版)》,本书是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。一起来看看 《ASP.NET 4高级程序设计(第4版)》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
Base64 编码/解码
Base64 编码/解码