PostgreSQL v12.0 正式版發布附下載-開源關係型數據庫
PostgreSQL全球開發組今天宣布,世界上功能最為強大的開源數據庫發布PostgreSQL 12版本發布。PostgreSQL 12版在各方面都得到了加強,包括顯著地提升查詢性能,特別是對大數據集,總的空間利用率方面。
這個版本為應用程序開發人員提供了更多的功能,比如對SQL/JSON路徑表達式的支持,優化公共表達式(WITH
查詢)的執行,以及對生成列的支持等。PostgreSQL除了持續對PostgreSQL系統的可擴展性、穩健性進行開發外,還更多地在本地化、授權控制以及更加容易的管理進行增強。這個版本也引入了可插撥的表存取接口,來允許開發者在表的創建和使用時使用不同的存取方式。
“在PostgreSQL後面的開發者社區為PostgreSQL 12版所作的大量工作,讓我們用戶可以以較小的成本換來性能和空間管理等儲特性,包括企業級安全、 後台管理和SQL/JSON支持等功能”,作為全球開發組核心成員之一的Dave Page說道,“這個版本延續了PostgreSQL一直以來的對大大小小各級別數據量的輕鬆管理,同時在生產環境中的兼具靈活性、可靠性,贏得了長期的聲譽”。
得益於超過20年以上的開源產品開發,PostgreSQL已成長為各種大小規模組織喜愛的開源關係數據庫產品。系統持續得到行業的認可,2017、2018連續2年被DB-Engines評選為“年度優秀數據庫” ,2019年度又被OSCON國際開源組織評為“終身成就獎”的開源產品。
全面的性能提升
PostgreSQL 12版本在性能和易維護性方面有了顯著的增強,尤其是對索引和分區子系統。
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模塊。
關於PostgreSQL
PostgreSQL是世界上最先進的開源關係型數據庫,它的全球社區是一個由數千名用戶、開發人員、公司或其他組織而組成。PostgreSQL項目有30年以上的歷史,起源於加利福利亞的伯克利大學,經歷了無數次開發升級。PostgreSQL的專業特性不僅包含頂級商業數據庫系統的功能特性,更是在高級數據庫功能、數據庫擴展性、數據庫安全性和穩定性方面超過了它們。若想獲取到更多關於PostgreSQL的信息或者加入到PostgreSQL社區,請瀏覽 PostgreSQL.org 網站。
對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/
官網更新記錄: https://www.postgresql.org/docs/12/release-12.html
官網下載地址:
https://www.postgresql.org/download/
for Windows:
https://get.enterprisedb.com/postgresql/postgresql-12.0-1-windows-x64.exe
for MacOS:
https://get.enterprisedb.com/postgresql/postgresql-12.0-1-osx.dmg
for Linux: