postgresql删除索引_PostgreSQL 13 发布,索引和查找有重大改进

1f4cfba060d05635663506be5b3212d0.gif

060c1213d5c4a51b6326cbe1991f972d.png

9月24日,PostgreSQL全球开发组宣布PostgreSQL 13正式发布,作为世界上使用最多的开源数据库之一,PostgresSQL 13是目前的最新版本。

PostgreSQL 13 在索引和查找方面进行了重大改进,有利于大型数据库系统,改进包括索引的空间节省和性能提高,使用聚合或分区的查询时响应更快,使用增强的统计信息时查询计划更优,以及很多其他改进。

PostgreSQL 13除了新增了用户强烈要求的功能,如并行清理和增量排序外,还为不同规模的负载提供了更好的数据管理体验。此版本针对日常管理进行了优化,为应用程序开发人员提供了更多便利,并增强了安全性。

PostgreSQL是一种创新的数据管理系统,以其可靠性和健壮性著称,得益于全球开发者社区 超过25年的开源开发,它已成为各种规模组织首选的开源关系型数据库。

82a3fbb69132c5e507ba4e3762308f58.png

持续的性能提升

在先前PostgreSQL版本的基础上,PostgreSQL 13可以有效地处理标准数据库索引B-tree中的重复数据。这降低了B-tree索引所需的总体使用空间,同时提高了整体查询性能。

PostgreSQL 13引入了增量排序,其中查询中来自较早步骤的已排序数据可以加快后续步骤的排序。此外,PostgreSQL现在可以使用扩展的统计信息(通过CREATE STATISTICS访问)来创建增强带有OR子句和列表中的IN/ANY查找的查询计划。

在PostgreSQL 13中,更多类型的聚合和分组可以利用PostgreSQL的高效哈希聚合功能,因为具有大聚合的查询不必完全放在内存中。得益于现在有更多情况可以修剪分区并且可以直接连接分区的改进,带有分区表的查询性能得到了提高。

96defe3e9462586837579b0abd7afe4b.png

管理优化

清理(Vacuuming)是PostgreSQL管理的重要部分,它使数据库能够在更新和删除行之后回收存储空间。尽管之前的PostgreSQL版本已经完成了减轻清理开销的工作,但是清理过程也可能带来管理上的挑战。

PostgreSQL 13通过引入索引的并行清理来继续改进清理系统。除了它提供的清理性能优势外,由于管理员可以选择要运行的并行Worker进程的数量,因此可以针对特定工作负载调整此新功能的使用。除了这些性能带来的好处之外,数据插入现在还可以触发自动清理过程。

复制槽(Replication slots)用于防止预写日志(WAL)在备库收到之前被删除,可以在PostgreSQL 13中进行调整以指定要保留的WAL文件的最大数量,并有助于避免磁盘空间不足的错误。

PostgreSQL 13还增加了更多管理员可以监视数据库活动的方式,包括从EXPLAIN查看WAL使用情况的统计信息,基于流的备份进度,以及ANALYZE命令的进度。另外,还可以使用新的pg_verifybackup命令来检查pg_basebackup命令输出的完整性。

35859402771f9b547cf0586cab02dcbb.png

便利的应用程序开发

PostgreSQL 13让使用来自不同数据源的PostgreSQL数据类型变得更加容易。此版本在SQL/JSON路径支持中添加了datetime()函数,该函数将有效的时间格式(例如ISO 8601字符串)转换为PostgreSQL本地类型。此外,UUID v4 生成函数gen_random_uuid()现在可以直接使用而无需安装任何扩展。

PostgreSQL的分区系统更加灵活,因为分区表完全支持逻辑复制和BEFORE行级触发器。

PostgreSQL 13中的FETCH FIRST语法现已扩展为可包含WITH TIES子句。指定时,WITH TIES包括基于ORDER BY子句的结果集中最后一行相匹配的任何其他行。

0819b0d2365af8bacea2e9b263b08cea.png

安全性增强

PostgreSQL的扩展系统是其强大功能的关键组成部分,因为它允许开发人员扩展其功能。在以前的版本中,新的扩展只能由数据库超级用户安装。为了更轻松地利用PostgreSQL的可扩展性,PostgreSQL 13添加了"可信扩展"的概念,该概念允许数据库用户使用安装超级用户标记为"受信任"的扩展。某些内置扩展默认情况下标记为受信任,包括 pgcrypto, tablefunc, hstore等。

对于需要安全身份验证方法的应用程序,PostgreSQL 13允许客户端在使用SCRAM身份验证时要求通道绑定,并且PostgreSQL外部数据包装器(postgres_fdw)现在可以使用基于证书的身份验证。

下载链接:

https://www.postgresql.org/download/

88fac72d175efffea392332e5c9f2527.png

41e6e1efa249e84adc89e48896dccd8f.png

更多精彩推荐

☞为什么云原生+分布式是数据库的未来?

☞Swift、Flutter 共同瞄准 Windows!

☞不是“老赖”是“真还”!罗永浩 6 亿债务还了 4 亿

☞云原生安全模型与实践

☞可租赁、可定制的虚拟人居然还能这么玩?9月25日来百度大脑人像特效专场一探究竟!

☞区块链+生鲜:杜绝“偷梁换柱”和“以次充好”
点分享点点赞点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【WebRTC---源码篇】(十六)WebRTC/NetEQ

WebRTC【4096版本】 NetEQ的作用 进行抖动控制和丢包隐藏,通过该技术可以让音频更平滑 NetEQ插入packet数据 int NetEqImpl::InsertPacketInternal(const RTPHeader& rtp_header,rtc::ArrayView<const uint8_t> payload) {//如果有效荷载payload为空if (paylo…

HH SaaS电商系统的销售订单设计

文章目录订单销售类型订单优惠优惠方式子订单优惠金额订单拆单订单发货销售订单拆单逻辑图销售订单的信息结构相关实体订单运营类型&#xff08;作废&#xff09;售后截止时间订单状态状态机的设计不同属性组合下的订单状态组合1&#xff1a;实物线上非预售非定制非拼单快递组合…

kafka netty_惠而浦:使用Netty和Kafka的微服务

kafka netty介绍 在上一个博客中 &#xff0c;我介绍了Netty用作Web服务器。 该示例运行良好……只要需要广播服务器即可。 大多数情况下不是很有用。 更有可能的是&#xff0c;每个客户端仅接收针对其的数据&#xff0c;并保留了特殊情况下的广播&#xff0c;例如“服务器在1…

HH SaaS电商系统的拼团系统设计

文章目录拼团业务流程拼团单实体拼团单的状态拼团型订单的销售状态注意点拼团业务流程 创建活动 管理后台创建拼团活动&#xff0c;设置好活动有效期、成团人数、成团时效、限购数量、活动对象、添加活动商品&#xff0c;设置团长价和团员价&#xff0c;活动开始后活动对象在买…

统信uos系统考试题_离Windows更近一步!微信Linux原生版上线:国产统信UOS系统已适配...

就在本月11号&#xff0c;国产操作系统-统信 UOS发布了专业版 V20(1030)&#xff0c;功能更强大&#xff0c;同时性能和安全性均有所提升。而距离这个好消息过去没多久&#xff0c;统信软件官方再次发布了一个好消息&#xff1a;那就是微信桌面客户端(统信 UOS 版)研发完成&…

npm 引用子项目模块_Java / Web项目中的NPM模块Browser-Sync

npm 引用子项目模块Browser-Sync是一个方便的基于Node.js的NPM模块&#xff0c;可用于更快的Web开发。 浏览器同步可在许多设备之间同步文件更改和交互。 最重要的功能是实时重新加载。 我们也可以在Java / Web项目中使用Browser-Sync。 Cagatay Civici创造了一个伟大的 视频教…

电商系统的自提订单,提货流程如何设计

文章目录产生自提订单的场景非O2O模式平台的自提点和O2O模式平台的自提点区别提货核销二维码核销提货码核销产生自提订单的场景 自提订单通常在O2O场景下会涉及到&#xff0c;所以通常是在O2O店铺会产生这样的订单&#xff0c;当然B2C模式的平台也会产生自提订单&#xff0c;例…

xrd精修教程_XRD精修系列干货 | 带你领略晶体之美

1. XRD精修教程(一)——XRD精修基本原理与GSAS软件简介(附GSAS软件下载链接)点击上图即可查看全文X射线衍射分析(XRD)在研究材料的相结构、相成分等多个方面有广泛的应用&#xff0c;但最常用的多晶衍射法有个缺点&#xff1a;得到的谱峰重叠严重&#xff0c;从而造成大量材料结…

【WebRTC---源码篇】(十八)GoogREMB算法

GoogREMB是基于延时的接收端拥塞控制算法,主要包括以下四个部分: 1.RemoteBitrate Estimator ,是接收端延时拥塞控制算法的管理模块。一方面与外面模块打交道,从网络收/发模块获取RTP包的传输信息用于拥塞评估,或将内部评估的下一时刻的发送码率(大小)输出给网络收/发模…

电商系统的O2O业务模式设计

O2O商业模式简述 O2O模式的平台才会产生配送订单&#xff08;即外卖订单&#xff09;&#xff0c;配送和快递的业务意义不同&#xff0c;配送强调的是“短距离”的派送服务&#xff0c;这正好符合O2O商业模式的核心诉求。 O2O服务的是周边用户人群&#xff0c;满足客户付款后…

cloud foundry_Cloud Foundry Java客户端–流事件

cloud foundryCloud Foundry Java客户端提供了基于Java的绑定&#xff0c;用于与正在运行的Cloud Foundry实例进行交互。 该项目的一件整洁的事情是&#xff0c;它已经接受了基于Reactive Stream的API的方法签名&#xff0c;特别是使用Reactor实现&#xff0c;这在使用流数据时…

多个cpp文件生成so_C++:C++的文件搜索路径

在做大型工程的时候&#xff0c;除了有C语法知识之外&#xff0c;还要有工程能力。最先要具备的能力是&#xff1a;理解C文件的编译&#xff0c;链接过程。明白C头文件的搜索路径。本文&#xff0c;介绍C的文件搜索路径。对于C文件来说&#xff0c;主要有两种&#xff0c;一种是…

【WebRTC---源码篇】(十九)模块的执行-Module

WebRTC中将某些功能划分了模块,现在介绍一下模块是如何执行的。WebRTC中会创建一个线程用于执行模块和异步的任务,模块生成以后注册到线程中,模块执行时会计算下次需要执行的时间,线程根据模块提供的时间会按照指定的时间再次调用模块。线程在处理模块的同时也可以处理其他…

HH SaaS电商系统的店铺系统设计

文章目录为什么店铺运营模式要区分B2C、C2C、O2O&#xff1f;O2O店铺B2C店铺自营B2C店铺第三方B2C店铺C2C店铺为什么O2O店铺不允许售卖快递类的商品&#xff1f;B2C、C2C模式的自提和O2O的自提有什么区别&#xff1f;B2C、C2C模式的配送和O2O的配送有什么区别&#xff1f;为什么…

java 精选选择题_Java生产率提示:社区精选

java 精选选择题社区已经发言。 我们已将您最好和最出色的生产力技巧汇总到一篇文章中。 我们都有自己的小技巧&#xff0c;可以帮助我们提高工作效率&#xff0c;并提高生产率。 我们使用工具来避免繁琐的日常任务&#xff0c;并运行脚本来自动化流程。 我们所做的一切只是为…

监听js变量的变化_JS监听事件型爬虫

点击上方“Python数据科学”&#xff0c;选择“星标公众号”关键时刻&#xff0c;第一时间送达&#xff01;作者&#xff1a;zuobangbang来源&#xff1a;zuobangbang最近开始研究网页参数的JS加密&#xff0c;但是大型网站的JS文件过于繁杂&#xff0c;不适合新手上路&#xf…

HH SaaS电商系统的支付模块设计

文章目录支付单支付单状态流转逻辑说明支付相关实体支付流水记录支付方式支付渠道支付单 销售订单生成时&#xff0c;同步生成支付单&#xff0c;如果销售订单的应付金额由首付款和尾款组成&#xff0c;那么会生成两个支付单 支付单与销售订单的“联合单号”或者“退款单ID”关…

java8 guava_Guavate:桥接Guava和Java8的微型库

java8 guavaJava8很棒&#xff0c;并向JDK添加了一些有用的抽象&#xff0c;这些抽象通过Google出色的Guava commons库在Java社区中得到了普及。 小组讨论表明&#xff0c; 不久将有一个需要Java 8的Guava版本&#xff0c;并弥合了Guava和Java8之间的鸿沟。 但是&#xff0c;直…

添加几个手机联系人_One UI 3.0: 更细腻、更好用,这才是手机系统该有的样子

作为全球出货量最多的 Android 手机厂商&#xff0c;三星宣布将于北京时间 1 月 14 日正式召开 2021 年度的新品发布会。伴随着 S21 的即将发售&#xff0c;我想借此机会和大家一起来聊一聊前不久刚刚推送正式版本的 One UI 3.0。One UI 3.0 是三星基于 Android 11.0 打造的新一…