如要調整 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 限制少一個。如要進一步瞭解如何設定這個旗標,請參閱「設定來源執行個體」。
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
在「Overview」(總覽) 頁面中,前往「Instances in your cluster」(叢集中的執行個體),選取執行個體,然後按一下「Edit」(編輯)。
展開「進階設定選項」。
新增、修改或刪除執行個體的資料庫旗標:
新增旗標
- 如要為執行個體新增資料庫旗標,請按一下「新增旗標」。
- 從「New database flag」(新增資料庫旗標) 清單中選取旗標。
- 提供旗標值。
- 按一下「完成」。
修改旗標
- 如要修改執行個體中的資料庫旗標,請展開資料庫旗標,然後在「Edit database flag」(編輯資料庫旗標) 區段中修改現有旗標的值。
- 按一下「完成」。
刪除標記
- 如要從執行個體中刪除資料庫旗標,請選取旗標,然後按一下刪除圖示。
- 按一下「完成」。
按一下「更新執行個體」。
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