資料庫就地升級主要版本總覽

本文說明如何就地升級 AlloyDB for PostgreSQL 資料庫的主要版本,讓您將資料庫升級至較高版本,不必遷移資料或取代現有執行個體。

PostgreSQL 社群會定期發布新主要版本,其中包含新功能、效能改善項目和安全性強化措施。PostgreSQL 發布新的主要版本後,AlloyDB 會新增相容版本的支援。 如要讓資料庫保持在最新狀態,您可以升級至較高的主要版本,藉此升級 AlloyDB 叢集。您可以透過這項就地升級功能升級叢集,也可以遷移資料至新的 AlloyDB 叢集。

詳情請參閱「資料庫版本政策」。

就地升級主要版本是升級叢集主要版本的有效方式,原因如下:

  • 升級後,AlloyDB 會保留叢集和執行個體詳細資料,以及執行個體名稱、IP 位址和資料庫標記等資料庫設定。
  • 您不需要變更應用程式連線字串。
  • 所有叢集執行個體 (主要和讀取集區) 都會透過同一項作業升級。

就地升級主要版本的工作流程

在叢集上啟動升級時,AlloyDB 會執行下列動作:

  1. 執行升級前檢查,找出可能影響升級的不相容項目。
  2. 準備升級主要版本,包括建立叢集的內部副本。
  3. 導致主要執行個體無法使用。休息時間開始。您仍可透過讀取集區執行讀取作業。
  4. 啟動升級前備份。
  5. 升級主要執行個體。
  6. 導致讀取集區執行個體無法使用。
  7. 讓主要執行個體可供使用。停機時間結束。
  8. 啟動升級後備份。
  9. 升級讀取集區執行個體。

通過升級前檢查後,系統會將叢集複製到同一專案的內部叢集。複製叢集所需的備份和還原作業,每 TB 資料約需 10 分鐘。

在複製作業期間,您可以繼續使用原始叢集。 複製作業完成後,升級程序就會開始。主要執行個體升級完成前,您無法讀取或寫入主要執行個體。預計停機時間通常為 20 分鐘到 1 小時,主要取決於資料庫結構定義和物件數量。

主要執行個體升級後,讀取集區執行個體會無法使用。系統會嘗試同時升級所有讀取集區執行個體。預計停機時間約為 20 分鐘。

如果在升級主要執行個體前的任何步驟失敗,AlloyDB 會自動還原所有變更。

主要執行個體升級後,叢集版本會升級至目標版本,且之後發生任何失敗都不會觸發回溯。舉例來說,如果一或多個讀取集區執行個體升級失敗,AlloyDB 不會回溯叢集。在這些情況下,請與 Google Cloud CLI 支援團隊聯絡。

下表列出不同資料庫大小的叢集完成升級所需時間的約略估計值:

資料庫大小 升級前 (無停機時間) 主要停機時間 讀取集區停機時間 總持續時間
100 GB 約 15 分鐘 約 20 分鐘 約 20 分鐘 約 1 小時
1 TB 約 30 分鐘 約 20 分鐘 約 20 分鐘 約 1 小時 15 分鐘
4 TB 約 1 小時 約 20 分鐘 約 20 分鐘 約 1 小時 45 分鐘
16 TB 約 3 小時 約 20 分鐘 約 20 分鐘 約 3 小時 45 分鐘
32 TB 約 5 小時 30 分鐘 約 20 分鐘 約 20 分鐘 約 6 小時 15 分鐘
64 TB 約 11 小時 約 20 分鐘 約 20 分鐘 約 12 小時
128 TB 約 21 小時 30 分鐘 約 20 分鐘 約 20 分鐘 約 22 小時 15 分鐘

詳情請參閱「就地升級資料庫主要版本」。

升級狀態

您可以監控資料庫主要版本就地升級作業的狀態

升級程序包含下列階段:

  • ALLOYDB_PRECHECK
  • PG_UPGRADE_CHECK
  • PREPARE_FOR_UPGRADE
  • PRIMARY_INSTANCE_UPGRADE
  • READ_POOL_INSTANCES_UPGRADE
  • ROLLBACK(僅適用於讀取集區升級前發生失敗的情況)
  • CLEANUP

這些階段可能出現的狀態包括:

  • NOT_STARTED
  • IN_PROGRESS
  • SUCCESS
  • FAILED
  • CANCEL_IN_PROGRESS
  • CANCELLED

取消升級

在主要執行個體升級期間,您可以在特定時間點前取消升級作業。一旦超過該時間點,就無法取消升級。

如果 Google Cloud 控制台中的「取消升級」按鈕顯示為灰色,就表示無法取消作業。使用 Google Cloud CLI 或 REST API,您可以檢查升級狀態中的 upgradeClusterStatus,判斷是否可以取消升級

  • 如果 cancellabletrue,你可以取消升級。
  • 如果狀態為 cancellablefalse,或狀態中沒有這兩個圖示,就無法取消升級。

自動備份升級前和升級後的資料

執行主要版本升級時,AlloyDB 會自動建立下列持續備份,其中 XX 是來源主要版本,YY 是目標主要版本。

  • 系統會在升級開始前立即建立升級前備份。這個備份檔的命名格式為 pre-upgrade-bkp-pgXX-pgYY-<uuid>。您可以使用這項備份資料還原至升級前的狀態。請注意,還原作業不會在原地執行,而是會建立新的叢集。
  • 主要執行個體升級後,系統會建立升級後備份。這個備份檔的命名格式為 post-upgrade-bkp-pgXX-pgYY-<uuid>

持續備份是增量備份,也就是說,備份只會儲存相較於上次持續備份而有所變更的資料。這種做法可減少備份大小和成本 (以資源計),並加快備份建立程序。詳情請參閱「資料備份與復原總覽」。

查看備份清單時,升級備份會列出 CONTINUOUS 類型。詳情請參閱「查看備份清單」。

執行時間點復原 (PITR) 時,必須有版本備份檔。升級後備份或在主要執行個體升級後啟動的其他備份完成前,升級後的叢集無法進行復原作業。

後續步驟