好訊息!PostgreSQL 13增加新功能!

PostgreSQLChina發表於2020-09-27

Number one:vacuum速度提高3倍

對於PostgreSQL 的新手來說,清理是多版本併發系統的一部分,它負責刪除每當記錄被更改或刪除時生成的無效元組或行。 autovacuum 功能可以清除死掉(已刪除)的隱藏行,從而消除表膨脹,類似於 Java 的垃圾收集器。有兩個與 vacuum 相關的改進:索引的並行清理以及允許對僅追加的資料進行僅索引掃描。  

首先,有了並行vacuum Postgres 現在可以使用多個處理器執行緒來更快地執行 vacuum 操作。我們的測試結果 表明,使用多個並行工作時,vacuum 可以提高 3 倍。其次,在此版本之前,自動 vacuum 操作僅會在更新和刪除時觸發,但現在插入操作也同樣會觸發。因此,僅索引掃描將更頻繁地發生,這對於連續流寫入資料庫的物聯網( IoT )應用程式特別有用。


Number two:避免中間人攻擊密碼

Libpq 是客戶端應用程式用來查詢資料庫的預設庫函式集。確保這些連線的安全很重要,否則可能會有模擬伺服器的機會,這也稱為中間人攻擊。可以使用許多不同的安全協議對客戶端傳送的密碼進行編碼,例如 SCRAM-SHA-256 。新的增強功能使 SCRAM 可以使用通道繫結,該功能可以在不使用證照時通過 SSL 連線進行相互身份驗證。  

易於使用的安全性至關重要,因為難以使用的功能通常根本不會帶來安全性。帶通道繫結的SCRAM 是密碼身份驗證的一種變體,它易於使用,但更加安全。  


Number three:減少生產中的錯誤

當資料庫丟擲諸如“無法開啟檔案庫 / XXXXX / XXXX ”( "could not open file base/XXXXX/XXXX ”)之類的錯誤時,您會意識到有些嚴重錯誤。在大多數情況下,此類錯誤是在嘗試訪問表或索引時發生的。 Pg_catcheck EDB 開發的用於診斷系統目錄損壞的簡單工具。如果您懷疑係統目錄已損壞,則此工具可以幫助您準確找出問題所在以及嚴重程度。 Pg_catcheck 現在將驗證每個關係的初始檔案是否可用(表或索引)。

這個選項不會告訴您為什麼會出現這樣的錯誤。 它也不會提供如何修復它們的建議—— 對此,你應該諮詢專家。但是,這個選項提供了一個主動的工具,可以幫助早期檢測用例,而不是在生產中發現錯誤。


Number four:驗證完整備份

這是一個用於建立完全物理備份的改進和新工具的完美結合。Pg_basebackup—— 對執行中的 PostgreSQL 叢集進行備份的工具 —— 現在提供了一個備份清單。此清單是一個 JSON 檔案,包含關於備份的後設資料 : 版本號、檔案列表、 WAL 範圍和校驗和。

Pg_verifybackup 是一個新工具,它不僅驗證備份中檔案的完整性,還驗證恢復備份所需的 WAL 日誌記錄是否有效。Pg_verifybackup 確保您的備份確實是好的,可以正確恢復。


Number five:輕鬆連線分割槽表

通過分割槽,您可以使用範圍,列表或雜湊鍵對大型資料集進行分段,從而建立響應速度更快的資料庫。分割槽會將一個表拆分為多個表,並以對客戶端應用程式透明的方式完成,從而可以更快地訪問所需的資料。以前,PostgreSQL 僅在分割槽表具有匹配的分割槽邊界時才允許您有效地連線分割槽表。

PostgreSQL 13 中,分割槽連線允許你高效地連線表,即使它們的分割槽邊界不完全匹配。 這樣做的好處是,連線分割槽表的速度更快,這鼓勵了分割槽的使用,從而提高了資料庫的響應速度。


Number six:分割槽表的邏輯複製 

PostgreSQL 的主要功能之一是使您可以通過邏輯複製有選擇地將哪些資料複製到備用資料庫。該功能現在更加強大,因為它可以與分割槽表一起使用。以前,必須將分割槽分別複製到備用資料庫。現在,可以顯式釋出分割槽表,從而使其所有分割槽自動釋出。新增 / 刪除分割槽會使分割槽同樣新增到備用資料庫中或從備用資料庫中刪除。  

此功能的好處在於,它為您提供了極大的靈活性。您現在還可以從分割槽表複製到非分割槽表,從非分割槽表複製到分割槽表,當然也可以從分割槽表複製到分割槽表。邏輯複製不再因分割槽而受到限制。


Number seven:B樹索引的重複資料刪除

現在,B 樹索引( PostgreSQL 中使用的預設和最常見的索引型別)已預設刪除重複資料。例如,假設您的索引使用的是墨西哥的“ Estado Unidos Mexicanos ”和美國的“ United States of America ”。如果有成千上萬條具有相同國家 / 地區名稱的記錄,則重複的索引鍵現在僅在磁碟上儲存一次。如果您的工作負載使用許多非唯一索引(低基數),這可能意味著可以節省大量磁碟空間和更好的效能。早期測試顯示索引減小了40% ,在某些特定情況下甚至減小了70%  

有趣的是,PostgreSQL 13 中預設啟用了此功能,因此您可能會受益甚至不知道!請注意,如果您使用 pg_upgrade 進行升級,則需要對以前的索引進行重複資料刪除時重新索引。


Number eight:其他安全性增強

PostgreSQL 社群在每個主要版本中繼續增強重要的安全功能。一個重要的預設值已更改:最低 TLS 版本為 1.2 ,這更加安全。除此之外,還有許多其他改進,使您在安全設定方面有更多選擇和靈活性。其中,外部資料包裝器還具有其他一些便利,例如使用證照進行身份驗證的功能,以及允許非超級使用者無需密碼即可連線到外部伺服器。除此之外,還有許多其他功能 - 包括使用密碼來解鎖客戶端證照的功能 - 為您提供更多滿足安全需求的選項。  

這只是我們認為值得強調的一小部分。但是,PostgreSQL 13 具有 170 多個增強功能 - 每個人都有一些增強!閱讀發行說明 以獲取PostgreSQL 13 新增功能的完整列表。  

PostgreSQL 社群繼續在每個主要版本中增強重要的安全特性。一個重要的預設值發生了變化 :TLS 的最小版本是 1.2 ,這更安全。除此之外,還有許多其他改進,為您提供了更多的選擇和安全性設定的靈活性。其中,外部資料包裝器 Foreign Data Wrappers ,簡稱 FDW 有兩個額外的便利,比如使用證照進行身份驗證的能力,以及允許非超級使用者無需密碼即可連線到外部伺服器。此外,還有許多其他附加功能—— 包括使用密碼解鎖客戶證照的能力 —— 為您提供了更多的選擇,以滿足您的安全需求。

這是對我們認為值得強調的東西的簡短 描述, PostgreSQL 13 有超過 170 個增強 —— 每個人都有適合的東西 !   可以 閱讀 社群 釋出說明,瞭解PostgreSQL 13 的新特性。

 

準備升級了嗎? 立刻下載PostgreSQL 13

下載連結: https://www.enterprisedb.com/downloads/postgresql

 

更多精彩內容,請關注以下平臺、網站:

 

中國Postgre SQL分會官方公眾號(技術文章、技術活動):

開源軟體聯盟PostgreSQL分會

 

中國Postgre SQL分會技術問答社群:

www.pgfans.cn

 

中國Postgre SQL分會官方網站:

www.postgresqlchina.com

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978989/viewspace-2724533/,如需轉載,請註明出處,否則將追究法律責任。

相關文章