PostgreSQL 17正式推出,性能、JSON處理與資料庫管理全面提升

2024-09-29     十輪網

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系統查看功能增加問題診斷效率。

文章來源: https://twgreatdaily.com/zh-cn/d0f603be1f5de339e76d5782a607009f.html