2018-10-18 PostgreSQL官網 宣布 PostgreSQL 11 正式版發行,PostgreSQL 11 重點對性能進行了提升和功能完善,特别是對大資料庫和高計算負載的情況下進行了增強,主要包括以下:
- 對分區表進行了大幅的改進和增強。
- 增加了對存儲過程的支援,存儲過程支援事務。
- 增強了并行查詢能力和并行資料定義能力。
- 增加了對 just-in-time (JIT) 編譯的支援,加速SQL中的表達式執行效率。
最近對PostgreSQL以上新特性和其它功能完善做了示範,希望對PostgreSQL從業者有幫助,詳見以下。
分區表的改進
PostgreSQL 11 對分區表進行了重大的改進,例如增加了哈希分區、支援建立主鍵、外鍵、索引、支援UPDATE分區鍵以及增加了預設分區,這些功能的完善極大的增強了分區表的可用性,詳見以下:
- PostgreSQL11: 分區表增加哈希分區
- PostgreSQL11:分區表支援建立主鍵、外鍵、索引
- PostgreSQL11: 分區表支援UPDATE分區鍵
- PostgreSQL11: 分區表增加 Default Partition
支援存儲過程
PostgreSQL 11 版本一個重量級新特性是對存儲過程的支援,同時支援存儲過程嵌入事務,存儲過程是很多 PostgreSQL 從業者期待已久的特性,尤其是很多從Oracle轉到PostgreSQL朋友。
盡管PostgreSQL提供函數可以實作大多數存儲過程的功能,但函數不支援部分送出,換句話說,函數中的SQL要麼都執行成功,要不全部傳回失敗,詳見以下:
- PostgreSQL11: 支援存儲過程(SQL Stored Procedures)
并行能力的增強
PostgreSQL 11 版本在并行方面得到較大增強,例如支援并行建立索引、并行Hash Join、并行 CREATE TABLE .. AS等,詳見以下:
- PostgreSQL11:支援并行建立索引(Parallel Index Builds)
- PostgreSQL11:支援并行哈希連接配接(Parallel Hash Joins)
增加對Just-in-Time (JIT)編譯的支援
PostgreSQL 11 版本的一個重量級新特性是引入了 JIT (Just-in-Time) 編譯來加速SQL中的表達式計算效率。
JIT 表達式的編譯使用LLVM項目編譯器來提升在WHERE條件、指定清單、聚合以及一些内部操作表達式的編譯執行,詳見以下:
- PostgreSQL11: 增加對JIT(just-in-time)編譯的支援提升分析型SQL執行效率
其它功能完善
此外, PostgreSQL 11 增強了其它新特性以增加使用者體驗,以下列舉了主要的幾點,詳見以下:
- PostgreSQL11: 新增非空預設值字段不需要重寫表
- PostgreSQL11: Indexs With Include Columns
- PostgreSQL11: 新增三個預設角色
- PostgreSQL11: 可通過GRNAT權限下放的四個系統函數
- PostgreSQL11: Initdb/Pg_resetwal支援修改WAL檔案大小
- PostgreSQL11: psql 新增 gdesc 顯示查詢結果的列名和類型
- PostgreSQL11: psql 新增變量記錄SQL語句的執行情況和錯誤
關于PostgreSQL
PostgreSQL 号稱世界上最先進的開源關系型資料庫,PostgreSQL 全球社群是一個由數千名使用者、開發人員、公司或其他組織組成。 PostgreSQL 起源于加利福利亞的伯克利大學,有30年以上曆史,經曆了無數次開發更新。
PostgreSQL 的出衆之處在于不僅具有商業資料庫的功能特性,同時在擴充性、安全性、穩定性等進階資料庫特性方面超越了它們。
若想擷取到更多關于PostgreSQL的資訊或者加入PostgreSQL社群,請浏覽官網 PostgreSQL.org 。
參考
- PostgreSQL 11 Released!
- PostgreSQL 11.0 正式版更新版本釋出說明
新書推薦
最後推薦和張文升共同編寫的《PostgreSQL實戰》,本書基于PostgreSQL 10 編寫,共18章,重點介紹SQL進階特性、并行查詢、分區表、實體複制、邏輯複制、備份恢複、高可用、性能優化、PostGIS等,涵蓋大量實戰用例!
連結:https://item.jd.com/12405774.html