隨著PostgreSQL社區對低版本(如9.4、10等)執行個體的停止維護,繼續使用低版本執行個體將存在風險,如果您需要將低版本的RDS PostgreSQL執行個體升級到更高版本,或者希望使用高版本的新特性,建議您進行大版本升級操作。
方案簡介
PostgreSQL社區定期發布大版本,帶來功能和效能提升。較低版本將逐漸不再受支援,存在效能和安全風險。為了讓您享受新版本的提升,同時降低升級風險,RDS PostgreSQL支援大版本升級功能。
RDS PostgreSQL的大版本升級功能可以在升級後保留原執行個體的設定,例如,白名單、參數設定、外掛程式(新版本不支援的外掛程式和參數除外)。此外,加密RDS PostgreSQL執行個體升級大版本後仍為加密執行個體,且加密金鑰將保持不變。
升級方案 | 本地升級 | 藍綠部署 | 零停機 | ||
割接 | 不割接 | ||||
適用情境 | 期望升級後的執行個體與原執行個體一致。並可以接受升級期間執行個體唯讀。 | 期望保留原執行個體,並可以接受升級期間執行個體唯讀。 |
| 業務不接受長時間停機。 |
|
實現原理 | 使用pg_upgrade將原執行個體升級到目標版本。同時,保留所有元資訊。 | 恢複到一個新執行個體,並使用pg_upgrade將其升級至目標版本。同時,自動切換原串連地址到新執行個體。 | 恢複到一個新執行個體,並使用pg_upgrade將其升級至目標版本。 | 使用pg_upgrade將原執行個體升級到目標版本。同時,通過原生邏輯複製進行累加式更新。 | 手動建立新RDS PostgreSQL執行個體,並使用非同步邏輯複製進行資料移轉。 |
方案優點 | 原執行個體配置和賬單資訊完全保留。 |
| 提供獨立環境進行升級驗證,對原執行個體無影響。 |
|
|
方案缺點 | 不支援基於舊執行個體的復原。 | 不繼承原執行個體的賬單資訊。 | 無。 |
|
|
原執行個體唯讀時間 | 通常為分鐘級。 | 通常為分鐘級。 | 無。 | 通常為秒級。 | 通常為秒級。 |
費用 | 無升級費用。 | 建立執行個體隨用隨付。 | 建立執行個體隨用隨付。 | 無升級費用。 |
|
對於本地升級模式,如果在升級過程中執行個體未達推薦規格,系統將自動嘗試使用推薦規格進行升級。這將導致分鐘級的唯讀狀態,並額外出現一次秒級閃斷。建議升級前,處理大版本升級檢查報告中關於執行個體規格的警示。
大版本升級
方式一:通過本地升級模式升級大版本
方式二:通過藍綠部署模式升級大版本
方式三:通過零停機模式升級大版本
方式四:通過DTS遷移資料的方式升級
如果通過以上三種方式無法升級,或者期望升級時進行資料校正,您可以通過DTS遷移資料的方式進行升級。