PostgreSQL 12 版本發佈!

PostgreSQL全球開發組今天宣佈,世界上功能最爲強大的開源數據庫發佈PostgreSQL 12版本發佈。html

PostgreSQL 12版在各方面都獲得了增強,包括顯著地提高查詢性能,特別是對大數據集,總的空間利用率方面。sql

這個版本爲應用程序開發人員提供了更多的功能,好比對SQL/JSON路徑表達式的支持,優化公共表達式(WITH查詢)的執行,以及對生成列的支持等。 PostgreSQL除了持續對PostgreSQL系統的可擴展性、穩健性進行開發外,還更多地在本地化、受權控制以及更加容易的管理進行加強。這個版本也引入了 可插撥的表存取接口,來容許開發者在表的建立和使用時使用不一樣的存取方式。數據庫

「在PostgreSQL後面的開發者社區爲PostgreSQL 12版所做的大量工做,讓咱們用戶能夠以較小的成本換來性能和空間管理等儲特性,包括企業級安全、後臺管理和SQL/JSON支持等功能」,做爲全球開發組核心成員之一的Dave Page說道,「這個版本延續了PostgreSQL一直以來的對大大小小各級別數據量的輕鬆管理,同時在生產環境中的兼具靈活性、可靠性,贏得了長期的聲譽」。安全

得益於超過20年以上的開源產品開發,PostgreSQL已成長爲各類大小規模組織喜好的開源關係數據庫產品。系統持續獲得行業的承認,201七、2018連續2年被DB-Engines評選爲 "年度優秀數據庫" ,2019年度又被OSCON國際開源組織評爲「終身成就獎」的開源產品。服務器

全面的性能提高

PostgreSQL 12版本在性能和易維護性方面有了顯著的加強,尤爲是對索引和分區子系統。post

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/docs/12/release-12.html

關於PostgreSQL

PostgreSQL是世界上最早進的開源關係型數據庫,它的全球社區是一個由數千名用戶、開發人員、公司或其餘組織而組成。 PostgreSQL項目 有30年以上的歷史,起源於加利福利亞的伯克利大學,經歷了無數次開發升級。 PostgreSQL的專業特性不只包含頂級商業數據庫系統的功能 特性,更是在高級數據庫功能、數據庫擴展性、數據庫安全性和穩定性方面超過了它們。 若想獲取到更多關於PostgreSQL的信息或者加入到 PostgreSQL社區,請瀏覽 PostgreSQL.org 網站。

相關文章
相關標籤/搜索