PostgreSQL 17正式發布,除了加入新的功能之外,也改進了效能表現以及開發者體驗。這個版本最佳化資料庫清理(Vacuum)、I/O效能和查詢執行,同時強化JSON資料處理能力,也對邏輯複寫(Logical Replication)、高可用性和主要版本升級支援進行改進。此外,PostgreSQL 17還新增了安全性管理、備份操作與監控分析等功能。

這版本PostgreSQL資料庫清理(Vacuum)程序進行效能更好了,大幅減少內部記憶體的使用量。PostgreSQL 17新的內部記憶體結構可以降低多達20倍的資料占用,讓清理程序更快速,並減少對共享資源的需求。這樣的改進不只使得更多系統資源,能夠被用於處理日常工作負載,更有效提升資料庫整體效能,以及儲存空間回收效率,減少系統維護過程的效能影響。

I/O效能方面,PostgreSQL 17針對高並行工作負載進行最佳化,透過最佳化預寫式日誌(Write-Ahead Log,WAL)的處理,寫入吞吐量可提升至2倍,增強了系統在高流量情境下的穩定性。此外,新的串流I/O介面加快了序列掃描和ANALYZE指令的效率,使得資料表的掃描和統計變得更快速。而這一系列的I/O改進,皆有助於大型資料庫的維運和分析作業。

PostgreSQL 17在查詢功能上也有許多改進,包括針對B-tree索引和常見資料表表示式進行最佳化,提升了複雜查詢的效率,新功能則有BRIN索引現在支援平行建置,以及更高效的IN子句查詢,額外的SIMD支援,包括使用AVX-512加速bit_count函數,也讓運算更為高效。

PostgreSQL 17強化了JSON資料的處理能力,新的JSON_TABLE功能可將JSON資料轉換成標準資料表。此外,PostgreSQL 17支援SQL/JSON建構函式和查詢函式,提供開發者更多操作JSON的方法。此版本還強化了jsonpath表示式,支援將JSON資料轉換成原生PostgreSQL型別。這些新的JSON功能讓開發者擁有更強大的工具,以處理日益增加的JSON資料結構應用。

在這個版本之前,開發者進行主要版本升級時必須刪除邏輯複寫插槽(Slot),並在升級後重新同步資料,這是一個耗時的過程。而PostgreSQL 17升級不再需要刪除邏輯複寫插槽,簡化高可用性工作負載和主要版本升級的管理。

PostgreSQL 17在安全性管理、備份操作和監控分析方面進行多項改進,包括添加sslnegotiation選項提升TLS連線的安全性,以及pg_maintain預定義角色簡化維護操作。pg_basebackup新工具提供增量備援支援,而pg_dump則是加入了--filter選項,供使用者在產生傾印檔案時,可以選擇要包含的物件。在監控方面,EXPLAIN新增了I/O讀寫時間和記憶體使用量的報告功能,並加入pg_wait_events系統檢視功能增加問題診斷效率。

熱門新聞

Advertisement