全部產品
Search
文件中心

PolarDB:【新版本】PolarDB PostgreSQL版 18版本正式發布上線

更新時間:Jan 31, 2026

PolarDB PostgreSQL版相容PostgreSQL 18的版本正式發布上線。PostgreSQL 18版本通過效能提升、營運簡化和功能擴充,進一步提升資料庫使用的體驗。

版本介紹

在社區PostgreSQL 18基礎上,PolarDB還支援一些專屬的功能,例如時空引擎GanosBase,全域計畫快取,GBK/GB18030 字元集等。在PolarDB PostgreSQL版 18的第一個發布版本中,即支援以下外掛程式:hypopgip4rmysql_fdwpasepgauditpg_bigmpg_cronpg_filedumppg_hint_planpgjwtpg_netpg_similaritypgsodiumpg_stat_kcachepgtappgvectorpldebuggerpostgres-decoderbufsprefixroaringbitmapsequential_uuidsganosvarbitxvaultwal2jsonzhparser

同時,PolarDB進行了深入的效能最佳化:通過PGO、BOLT、LTO等系統級最佳化手段,結合批量檔案讀寫與擴充、批量刷髒等I/O最佳化,並進行了深度的參數調優。

說明

相關文檔:PostgreSQL 18社區發布公告

發布時間

新加坡時間2026年01月10日

費用說明

支援訂用帳戶和隨用隨付兩種計費模式,提供靈活的計費選擇。計費詳情請參見產品計費

關鍵提升

系統級效能提升

  • 非同步I/O:引入非同步I/O子系統,允許後端並行發送多個讀請求,顯著提高了順序掃描、位元影像堆掃描及清理(VACUUM)等操作的效率。

  • 查詢最佳化:改進了查詢最佳化工具,能自動移除不必要的表自串連,並將部分IN (VALUES ...)轉換為ANY數組以利用更優的統計資訊。

  • 索引效能:B-tree索引現已支援跳躍掃描(Skip Scan),GIN 索引支援並行建立,進一步提升了查詢和索引維護效率。

  • VACUUM最佳化:允許VACUUM凍結部分全可見頁面,減少了後續全表凍結的開銷。新增ONLY選項,可讓VACUUMANALYZE僅處理分區父表。

開發人員體驗提升

  • 虛擬產生列:產生列(Generated Columns)預設為虛擬列,在讀取時動態計算其值,而非寫入時儲存,節省了儲存空間。

  • DML功能增強RETURNING子句現支援OLDNEW關鍵字,允許INSERT/UPDATE/DELETE/MERGE操作返回變更前後的資料。

高可用與邏輯複製增強

  • 功能擴充:邏輯複製現已支援產生列。CREATE SUBSCRIPTIONstreaming選項預設值修改為parallel

  • 營運簡化:新增邏輯複製衝突日誌,協助您快速識別和解決資料同步中的問題。

安全性與管理增強

  • 認證方式:棄用MD5密碼認證,並引入對OAuth認證方法的支援,提供更現代、更安全的身分識別驗證選項。

  • 許可權管理:新增pg_get_acl()has_largeobject_privilege()等函數,並允許為大對象(Large Objects)定義預設許可權,使許可權管理更加精細化。

升級指導

建議您升級到PolarDB PostgreSQL版 18版本。升級到PostgreSQL 18版本意味著您可以與PostgreSQL社區保持同步,獲得更多的資源和支援,協助您解決問題並學習資料庫的最佳實務。

PolarDB PostgreSQL版 17版本升級到PolarDB PostgreSQL版 18版本的過程中,大部分的資料類型、內建函數、表列和對象無明顯變化,大多數為細節改進。通過邏輯複製等方式(推薦使用DTS工具進行PolarDB PostgreSQL版間的遷移)可以實現接近100%的相容性,具體的變化細節如下所示。

說明

此處僅為PolarDB PostgreSQL版 18版本與PolarDB PostgreSQL版 17版本區別。其他PolarDB PostgreSQL版版本升級到PolarDB PostgreSQL版 17中的區別,請參見PostgreSQL 17與PostgreSQL 16區別PostgreSQL 16與PostgreSQL 15區別PostgreSQL 15與PostgreSQL 14區別

類型與行為

  • initdb現預設啟用資料校正和。

  • 時區縮寫處理將優先使用當前會話的設定。

  • 設定MD5密碼時,CREATE ROLEALTER ROLE會發出棄用警告。

  • 全文本搜尋的設定檔和字典讀取將使用叢集的預設定序提供者。

系統檢視表

  • 移除了pg_backend_memory_contexts.parent列。

  • pg_backend_memory_contexts.levelpg_log_backend_memory_contexts()的索引基準從0修改為1。

  • pg_stat_all_tables及其相關視圖新增了報告VACUUMANALYZE操作耗時的統計資訊。

  • 移除了pg_stat_wal視圖中的 wal_writewal_syncwal_write_timewal_sync_time列。

函數與運算式

  • 新增casefold()函數,用於不區分大小寫匹配。

  • MIN()/MAX()彙總函式現支援數組和複合類型。

  • EXTRACT()函數新增WEEK選項。

  • 新增UUID v7產生函數uuidv7()

  • 新增crc32()crc32c() CRC校正函數。

  • 新增array_sort()array_reverse() 數組處理函數。

許可權

  • 新增 pg_get_acl() 函數,用於檢索存取控制詳情。

  • 新增 has_largeobject_privilege() 函數,用於檢查大對象許可權。

  • ALTER DEFAULT PRIVILEGES 現支援為大對象定義預設許可權。

  • 新增預定義角色 pg_signal_autovacuum_worker

其他

  • VACUUMANALYZE預設會處理父表的繼承子表。

  • COPY FROM在讀取CSV檔案時,不再將.視作檔案結束標記。

  • 禁止建立未記錄日誌(Unlogged)的分區表。

  • AFTER觸發器將以觸發事件排隊時活動的角色身份執行。

  • 移除了GRANT/REVOKE中已失效的規則(Rule)許可權支援。

  • CREATE SUBSCRIPTIONstreaming選項預設值已更改為parallel