
PostgreSQL開發團隊正式發布PostgreSQL 18,這個版本引入非同步I/O(AIO)功能,解決過去依賴作業系統預讀機制的限制,讓資料庫能同時發出多筆讀取請求而非逐一等待。根據官方測試,特定情境下的讀取效能可提升至最高3倍,涵蓋序列掃描(Sequential Scan)、Bitmap堆掃描(Bitmap Heap Scan)以及清理作業(Vacuum)等常見操作,對以讀取為主的工作負載帶來明顯的效能改善。
除了效能提升,PostgreSQL 18在重大版本升級流程也做出實質調整。新版本可保留規畫器統計資料,使叢集在升級完成後更快回到預期效能,避免過去需等待ANALYZE指令重新蒐集統計造成的性能波動。升級工具pg_upgrade也獲得多項強化,包括透過--jobs參數進行平行檢查,以及--swap選項以交換目錄取代複製或連結檔案,縮短切換時間。
PostgreSQL 18引入多欄B-tree資料結構的跳躍式掃描(Skip Scan)來最佳化查詢工作,讓缺少前綴等值條件的查詢仍能利用索引,並改善OR條件的索引化處理。同時,雜湊連接(Hash Join)與合併連接(Merge Join)等表格連接方法也獲得加速,GIN索引則支援平行建立,縮短大規模索引生成所需時間。這些調整讓查詢效能更具彈性,且不需額外修改應用程式。
開發人員可在這個版本用到新的語法與函式。虛擬產生欄位成為預設選項,避免無謂的資料儲存,並支援在查詢時計算值。RETURNING子句現可同時取出舊值與新值,方便審核修改結果。UUID生成函式新增uuidv7(),提供時間序可排序的識別碼,改善索引區域性與讀取效能,uuidv4()則成為gen_random_uuid()的別名,整合常用函式呼叫。
在安全與身分驗證方面,PostgreSQL 18引入OAuth 2.0整合,讓資料庫能更容易搭配單一登入(SSO)機制。密碼驗證機制則逐步淘汰MD5,官方建議改用SCRAM,並新增TLS 1.3密碼套件設定,對於跨資料庫的驗證情境,SCRAM現已可透過遠端存取機制postgres_fdw與dblink傳遞。
PostgreSQL 18增強用戶維運與監控能力,清理作業(Vacuum)在一般作業中會更積極凍結頁面,以降低後續清理負擔。EXPLAIN ANALYZE指令新增更多細節,預設輸出緩衝區使用量、索引查詢次數,並在VERBOSE模式下顯示CPU與日誌寫入機制WAL相關統計。新的統計資料也涵蓋連線層級I/O與WAL使用狀況,有助於管理者精確掌握資源消耗。
熱門新聞
2025-12-12
2025-12-15
2025-12-15
2025-12-15
2025-12-15
2025-12-12
2025-12-15