點(diǎn)擊關(guān)注公眾號,Java干貨及時送達(dá)
出品 | OSC開源社區(qū)(ID:oschina2013)PostgreSQL 14 現(xiàn)已發(fā)布。該版本繼續(xù)在復(fù)雜數(shù)據(jù)類型上添加創(chuàng)新,包括更方便的 JSON 訪問和對非連續(xù)數(shù)據(jù)范圍的支持,并且增加了 PostgreSQL 在提高高性能和分布式數(shù)據(jù)工作負(fù)載方面的趨勢,在連接并發(fā)性、高寫入工作負(fù)載、查詢并行性和邏輯復(fù)制方面取得了進(jìn)步。JSON 訪問和?multirange 數(shù)據(jù)類型
PostgreSQL 14 現(xiàn)在允許使用下標(biāo)訪問 JSON 數(shù)據(jù),例如 SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']。這使 PostgreSQL 與從 JSON 數(shù)據(jù)檢索信息時普遍認(rèn)可的語法保持一致。并且新增的下標(biāo)框架一般可以擴(kuò)展到其他嵌套數(shù)據(jù)結(jié)構(gòu),本次發(fā)布的 hstore 數(shù)據(jù)類型也同樣適用。Range 類型現(xiàn)在通過引入"multirange" 數(shù)據(jù)類型支持非連續(xù)范圍。一個 multirange 數(shù)據(jù)是不重疊范圍的有序列表,它使開發(fā)人員可以編寫更簡單的查詢來處理復(fù)雜的范圍序列。PostgreSQL 原生的范圍類型(日期、時間、數(shù)字)支持多范圍,其他數(shù)據(jù)類型可以擴(kuò)展以使用多范圍支持。重型工作負(fù)載的性能改進(jìn)
PostgreSQL 14 通過減少頻繁更新索引的表上的索引膨脹來繼續(xù)改進(jìn) B 樹索引管理,使用許多連接的工作負(fù)載顯著提升吞吐量,引入了將查詢管道傳輸?shù)綌?shù)據(jù)庫的功能,這可以顯著提高高延遲連接或具有許多小寫(插入/更新/刪除)操作的工作負(fù)載的性能。分布式工作負(fù)載增強(qiáng)
使用邏輯復(fù)制時,PostgreSQL 14 現(xiàn)在可以將正在進(jìn)行的事務(wù)流式傳輸給訂閱者。而用于處理跨 PostgreSQL 和其他數(shù)據(jù)庫的聯(lián)合工作負(fù)載的外部數(shù)據(jù)包裝器,現(xiàn)在可以利用 PostgreSQL 14 中的查詢并行性。此外,postgres_fdw 現(xiàn)在可以在外部表上批量插入數(shù)據(jù)并使用 IMPORT FOREIGN SCHEMA 指令導(dǎo)入表分區(qū)。管理和可監(jiān)測性
PostgreSQL 14 添加了一個 "緊急模式",并且現(xiàn)在可以配置 TOAST 系統(tǒng)的壓縮,同時為 TOAST 列添加了 LZ4 壓縮,而保留對 pglz 壓縮的支持。此外,該版本添加了幾個新特性來幫助監(jiān)控和觀察,包括跟蹤 COPY 命令的進(jìn)度、預(yù)寫日志 (WAL) 活動和復(fù)制槽統(tǒng)計信息的能力。啟用 compute_query_id 可讓進(jìn)行跟蹤查詢。SQL 性能、一致性和便利性
此版本包括對 PostgreSQL 查詢并行性支持的多項改進(jìn),包括更好的并行順序掃描性能、PL/pgSQL 在使用 RETURN QUERY 命令時執(zhí)行并行查詢的能力,以及啟用 REFRESH MATERIALIZED VIEW 來執(zhí)行并行查詢。此外,使用嵌套循環(huán)連接的查詢可能會通過添加的額外緩存獲得性能優(yōu)勢。同時,擴(kuò)展統(tǒng)計現(xiàn)在可以用于表達(dá)式,存儲過程允許在代碼塊中進(jìn)行事務(wù)控制,并可以使用 OUT 參數(shù)返回數(shù)據(jù)。更多詳細(xì)內(nèi)容,請查看更新公告:https://www.postgresql.org/about/news/postgresql-14-released-2318/