設定執行個體的資料庫旗標

如要調整 PostgreSQL 參數、資料庫選項,以及自訂 AlloyDB for PostgreSQL 叢集中的執行個體行為,您可以在執行個體中新增、修改或移除資料庫旗標。除非您移除旗標或再次修改值,否則資料庫旗標值的修改會持續套用至執行個體。

在某些情況下,設定一個旗標可能需要設定另一個旗標,才能完整啟用目標功能。

設定、移除或修改資料庫執行個體的旗標後,AlloyDB 可能會重新啟動執行個體。這取決於旗標,如「支援的資料庫旗標」所列。

在主要或讀取集區執行個體中修改資料庫旗標時,如果需要重新啟動,可以選擇下列其中一種維護政策:

  • 停機時間短。這項政策預設為啟用。建議您對所有正式版 AlloyDB 叢集使用這項政策,盡可能縮短應用程式停機時間。

    啟用低停機時間政策後,如果更新旗標需要重新啟動叢集的主要執行個體,會產生下列影響:

    • 在大多數工作負載中,主要執行個體的停機時間不到一秒。

    • 主要執行個體的旗標會在約 15 分鐘後完成更新,並採用新值。

    更新讀取集區執行個體上需要重新啟動的旗標,會產生下列影響:

    • 讀取集區執行個體不需要任何停機時間。

    • 約 10 分鐘後,讀取集區執行個體的旗標就會更新為新值。

  • 強制套用:如要加快套用旗標更新的速度,請搭配使用 FORCE_APPLY 選項和 gcloud beta alloydb instances update 指令。

    這項政策較適合開發環境,可讓您快速新增或修改旗標,不過執行個體停機時間較長,資料庫效能或處理量也會暫時降低。強制套用旗標更新後,叢集會在幾分鐘內恢復最佳效能。

    啟用強制套用政策後,如果更新的旗標需要重新啟動叢集的主要執行個體,會產生下列影響:

    • 主要執行個體會停機約一分鐘。

    • 主要執行個體上的旗標會在一到兩分鐘後完成更新,並採用新值。

    更新讀取集區執行個體上需要重新啟動的旗標,會產生下列影響:

    • 讀取集區執行個體會停機約一分鐘。

    • 一到兩分鐘後,讀取集區執行個體的旗標就會更新為新值。

事前準備

  • 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
  • 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
    • roles/alloydb.admin (AlloyDB 管理員預先定義的 IAM 角色)
    • roles/owner (擁有者基本 IAM 角色)
    • roles/editor (編輯者基本 IAM 角色)

    如果您不具備上述任一角色,請向組織管理員要求存取權。

為確保維護和更新作業能建立暫時的複製槽,以便同步處理狀態,請確認複製槽總數至少比 max_wal_senders 限制少一個。如要進一步瞭解如何設定這個旗標,請參閱「設定來源執行個體」。

控制台

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。

    前往叢集

  2. 在「Resource Name」(資源名稱) 欄中,按一下叢集。

  3. 在「Overview」(總覽) 頁面中,前往「Instances in your cluster」(叢集中的執行個體),選取執行個體,然後按一下「Edit」(編輯)。

  4. 展開「進階設定選項」。

  5. 新增、修改或刪除執行個體的資料庫旗標:

    新增旗標

    1. 如要為執行個體新增資料庫旗標,請按一下「新增旗標」。
    2. 從「New database flag」(新增資料庫旗標) 清單中選取旗標。
    3. 提供旗標值。
    4. 按一下「完成」。

    修改旗標

    1. 如要修改執行個體中的資料庫旗標,請展開資料庫旗標,然後在「Edit database flag」(編輯資料庫旗標) 區段中修改現有旗標的值。
    2. 按一下「完成」。

    刪除標記

    1. 如要從執行個體中刪除資料庫旗標,請選取旗標,然後按一下刪除圖示。
    2. 按一下「完成」。
  6. 按一下「更新執行個體」。

gcloud

使用 gcloud alloydb instances update 指令變更執行個體的資料庫旗標。

   gcloud alloydb instances update INSTANCE_ID \
   --database-flags FLAGS_LIST \
   --region=REGION_ID \
   --cluster=CLUSTER_ID \
   --project=PROJECT_ID

如要更快速地套用標記更新,請加入引數 --update-mode=FORCE_APPLY。這可能會暫時降低資料庫效能,因此請避免在正式環境中使用這個選項。

   gcloud beta alloydb instances update INSTANCE_ID \
   --database-flags FLAGS_LIST \
   --region=REGION_ID \
   --cluster=CLUSTER_ID \
   --project=PROJECT_ID \
   --update-mode=FORCE_APPLY

更改下列內容:

  • INSTANCE_ID:執行個體的 ID。
  • FLAGS_LIST:以半形逗號分隔的一或多個資料庫旗標規格清單。每項規格都包含旗標名稱、等號 (=) 和要指派給旗標的值。如果資料庫旗標不接受值,請提供旗標名稱,後面加上等號 (=)。
  • REGION_ID:執行個體所在的區域,例如 us-central1。
  • CLUSTER_ID:執行個體所在的叢集 ID。
  • PROJECT_ID:叢集所在專案的 ID。

如要查看執行個體目前手動設定的旗標清單,請執行下列指令:

   gcloud alloydb instances describe INSTANCE_ID \
   --region=REGION_ID \
   --cluster=CLUSTER_ID \
   --project=PROJECT_ID