來(lái)源:CSDN
9月24日,PostgreSQL全球開(kāi)發(fā)組宣布PostgreSQL 13正式發(fā)布,作為世界上使用最多的開(kāi)源數(shù)據(jù)庫(kù)之一,PostgresSQL 13是目前的最新版本。
PostgreSQL 13 在索引和查找方面進(jìn)行了重大改進(jìn),有利于大型數(shù)據(jù)庫(kù)系統(tǒng),改進(jìn)包括索引的空間節(jié)省和性能提高,使用聚合或分區(qū)的查詢時(shí)響應(yīng)更快,使用增強(qiáng)的統(tǒng)計(jì)信息時(shí)查詢計(jì)劃更優(yōu),以及很多其他改進(jìn)。
PostgreSQL 13除了新增了用戶強(qiáng)烈要求的功能,如并行清理和增量排序外,還為不同規(guī)模的負(fù)載提供了更好的數(shù)據(jù)管理體驗(yàn)。此版本針對(duì)日常管理進(jìn)行了優(yōu)化,為應(yīng)用程序開(kāi)發(fā)人員提供了更多便利,并增強(qiáng)了安全性。
PostgreSQL是一種創(chuàng)新的數(shù)據(jù)管理系統(tǒng),以其可靠性和健壯性著稱,得益于全球開(kāi)發(fā)者社區(qū)超過(guò)25年的開(kāi)源開(kāi)發(fā),它已成為各種規(guī)模組織首選的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)。
持續(xù)的性能提升
在先前PostgreSQL版本的基礎(chǔ)上,PostgreSQL 13可以有效地處理標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)索引B-tree中的重復(fù)數(shù)據(jù)。這降低了B-tree索引所需的總體使用空間,同時(shí)提高了整體查詢性能。
PostgreSQL 13引入了增量排序,其中查詢中來(lái)自較早步驟的已排序數(shù)據(jù)可以加快后續(xù)步驟的排序。此外,PostgreSQL現(xiàn)在可以使用擴(kuò)展的統(tǒng)計(jì)信息(通過(guò)CREATE STATISTICS訪問(wèn))來(lái)創(chuàng)建增強(qiáng)帶有OR子句和列表中的IN/ANY查找的查詢計(jì)劃。
在PostgreSQL 13中,更多類型的聚合和分組可以利用PostgreSQL的高效哈希聚合功能,因?yàn)榫哂写缶酆系牟樵儾槐赝耆旁趦?nèi)存中。得益于現(xiàn)在有更多情況可以修剪分區(qū)并且可以直接連接分區(qū)的改進(jìn),帶有分區(qū)表的查詢性能得到了提高。
管理優(yōu)化
清理(Vacuuming)是PostgreSQL管理的重要部分,它使數(shù)據(jù)庫(kù)能夠在更新和刪除行之后回收存儲(chǔ)空間。盡管之前的PostgreSQL版本已經(jīng)完成了減輕清理開(kāi)銷的工作,但是清理過(guò)程也可能帶來(lái)管理上的挑戰(zhàn)。
PostgreSQL 13通過(guò)引入索引的并行清理來(lái)繼續(xù)改進(jìn)清理系統(tǒng)。除了它提供的清理性能優(yōu)勢(shì)外,由于管理員可以選擇要運(yùn)行的并行Worker進(jìn)程的數(shù)量,因此可以針對(duì)特定工作負(fù)載調(diào)整此新功能的使用。除了這些性能帶來(lái)的好處之外,數(shù)據(jù)插入現(xiàn)在還可以觸發(fā)自動(dòng)清理過(guò)程。
復(fù)制槽(Replication slots)用于防止預(yù)寫(xiě)日志(WAL)在備庫(kù)收到之前被刪除,可以在PostgreSQL 13中進(jìn)行調(diào)整以指定要保留的WAL文件的最大數(shù)量,并有助于避免磁盤(pán)空間不足的錯(cuò)誤。
PostgreSQL 13還增加了更多管理員可以監(jiān)視數(shù)據(jù)庫(kù)活動(dòng)的方式,包括從EXPLAIN查看WAL使用情況的統(tǒng)計(jì)信息,基于流的備份進(jìn)度,以及ANALYZE命令的進(jìn)度。另外,還可以使用新的pg_verifybackup命令來(lái)檢查pg_basebackup命令輸出的完整性。
便利的應(yīng)用程序開(kāi)發(fā)
PostgreSQL 13讓使用來(lái)自不同數(shù)據(jù)源的PostgreSQL數(shù)據(jù)類型變得更加容易。此版本在SQL/JSON路徑支持中添加了datetime()函數(shù),該函數(shù)將有效的時(shí)間格式(例如ISO 8601字符串)轉(zhuǎn)換為PostgreSQL本地類型。此外,UUID v4 生成函數(shù)gen_random_uuid()現(xiàn)在可以直接使用而無(wú)需安裝任何擴(kuò)展。
PostgreSQL的分區(qū)系統(tǒng)更加靈活,因?yàn)榉謪^(qū)表完全支持邏輯復(fù)制和BEFORE行級(jí)觸發(fā)器。
PostgreSQL 13中的FETCH FIRST語(yǔ)法現(xiàn)已擴(kuò)展為可包含WITH TIES子句。指定時(shí),WITH TIES包括基于ORDER BY子句的結(jié)果集中最后一行相匹配的任何其他行。
安全性增強(qiáng)
PostgreSQL的擴(kuò)展系統(tǒng)是其強(qiáng)大功能的關(guān)鍵組成部分,因?yàn)樗试S開(kāi)發(fā)人員擴(kuò)展其功能。在以前的版本中,新的擴(kuò)展只能由數(shù)據(jù)庫(kù)超級(jí)用戶安裝。為了更輕松地利用PostgreSQL的可擴(kuò)展性,PostgreSQL 13添加了"可信擴(kuò)展"的概念,該概念允許數(shù)據(jù)庫(kù)用戶使用安裝超級(jí)用戶標(biāo)記為"受信任"的擴(kuò)展。某些內(nèi)置擴(kuò)展默認(rèn)情況下標(biāo)記為受信任,包括 pgcrypto, tablefunc, hstore等。
對(duì)于需要安全身份驗(yàn)證方法的應(yīng)用程序,PostgreSQL 13允許客戶端在使用SCRAM身份驗(yàn)證時(shí)要求通道綁定,并且PostgreSQL外部數(shù)據(jù)包裝器(postgres_fdw)現(xiàn)在可以使用基于證書(shū)的身份驗(yàn)證。
原文標(biāo)題:PostgreSQL 13 發(fā)布,索引和查找有重大改進(jìn)
文章出處:【微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
SQL
+關(guān)注
關(guān)注
1文章
760瀏覽量
44078 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3766瀏覽量
64278
原文標(biāo)題:PostgreSQL 13 發(fā)布,索引和查找有重大改進(jìn)
文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論