PostgreSQL 10新特性落地準備

2021-08-19 12:55:22 字數 1790 閱讀 8333

宣告式分割槽

在此前的版本中,postgresql僅支援表繼承以模擬表分割槽,但是其設定複雜,且效能有失。而在postgresql 10則支援使用專用語法進行列表或範圍分割槽,同時,insert效能也得到大幅提公升。

對此,haas表示在效能提公升以及缺失特性補足方面,未來還有很長的路要走,但postgresql 10此項更新已經可謂打響了漂亮的一槍。

邏輯複製

postgresql自9.0版本開始實現物理複製(通常稱為流式傳輸複製),但這需要複製整個資料庫,不能容忍任何形式的備用伺服器上的寫操作,且對於跨版本或跨資料庫系統的複製無效。其後的9.4版本以來,實現了備受歡迎的邏輯解碼,基本得到優化,但仍有侷限。如今,postgresql 10新增了容易配置的邏輯複製,並以**粒度工作。其將複製初始資料,並保持資料更新。

並行查詢改進

雖然postgresql 9.6已實現了並行查詢,但postgresql 10中的這一功能得到了極大優化,包括並行點陣圖堆掃瞄、並行索引掃瞄等新功能。並行查詢通常可以實現2-4倍加速,這些增強功能得以繼而為更多類查詢提供加速。

scram認證

postgresql提供了各種不同的身份驗證方法,包括kerberos,sspi和ssl證書認證等方法,這些方法都非常安全。但有些場景下,使用者只想要使用postgresql伺服器本身管理的密碼。postgresql 10引入了scram認證,特別是scram-sha-256——安全性更高。

注意:除非使用libpq,否則只有當使用者的特定客戶端驅動程式已通過scram支援進行更新,才能實現該功能。因此該效能更新若想要普及,還有一段等待時間。

執行器加速

postgresql執行的重要部分已被重寫,使表達和目標列表投影更快; 及時編譯將在以後的版本中新增。

穩定的hash索引

長期以來,postgresql中的hash索引都處於乙個被忽視的狀態,但這一問題在新版本中得到了顯著改善,而其中最明顯的一點變化在於v10中hash索引的更改寫入wal。

icu排序支援

在當前版本中,postgresql完全依賴作業系統提供的排序,但這存在一定的侷限性:排序規則因不同的作業系統而異,這一點在linux和windows之間尤為明顯,很難找到跨作業系統匹配的排序規則。

更多其他特性彙總參見原文。

haas最後提出了乙個postgresql的「歷史遺留問題」:

「很多使用者誤以為pg_xlog以及pg_clog目錄為非關鍵資料,這可能是因為目錄名稱中包含「log」字元——現已重新命名為表義更清晰的pg_walpg_xact。之前所有包含字串「xlog」的sql函式以及效用函式指代事務日誌以及預寫日誌,現亦重新命名,以「wal」取代之。相反,default log更名為log而非pg_log,因此看起來並不像內部名稱。上述變更可能會對部分使用者的公升級造成不便,但我們的初衷是希望藉此幫助使用者避免一些災難性的錯誤。」

原文:new features coming in postgresql 10

作者:robert haas

PostgreSQL10基礎(2)安裝

安裝源 yum install 安裝pg客戶端 yum install postgresql10 安裝pg伺服器 yum install postgresql10 server在有網路的伺服器下執行 安裝源 yum install yum install downloadonly downloadd...

Android10新特性解析

和往年一樣,將於今年5月7日舉辦的谷歌 i o 19大會上,谷歌將發布首版android q 即android 10 系統。按照慣例,android q beta並非首個開發者預覽版,可能是第二或者第三版,beta階段更大意義在於非谷歌系的oem品牌手機加入,便於測試和使用者嘗鮮。至於正式版什麼時候...

Android 10系統新特性解讀

和往年一樣,將於今年5月7日舉辦的谷歌 i o 19大會上谷歌將發布首版android q beta系統。按照慣例,android q beta並非首個開發者預覽版,可能是第二或者第三版,beta階段更大意義在於非谷歌系的oem品牌手機加入,便於測試和使用者嘗鮮。至於正式版什麼時候發布,按照慣例,會...