設定自動調整型自動回收功能

本頁提供 PostgreSQL 適用的 AlloyDB 自動調整式自動清理作業簡介,並說明如何設定這項功能。

真空化是重要的 PostgreSQL 資料庫維護作業。這項作業可用於回收更新或刪除資料列所占用的儲存空間,避免表格或索引膨脹。此外,這項服務也會用於凍結交易 ID,以防範交易 ID 環繞,以及更新表格統計資料。

如要進一步瞭解吸塵,請參閱「例行吸塵」。

為自動執行清除程序並集體更新表格統計資料,AlloyDB 支援適應性自動清除程序。可調整的自動清理功能可在工作負載變更時自動調整清理工作負載、移除無效元組,以及更新資料表統計資料。

自動清除程序可防止交易 ID 環繞,確保應用程式交易效能穩定一致,並維持系統高可用性。

根據預設,AlloyDB 會啟用適應性自動回收功能。您可以使用資料庫標記,在 AlloyDB 上停用或修改自動調整的自動回收功能。

優點

自動調整式自動清除作業具有下列優點:

  • 自動調整資源。AlloyDB 會根據工作負載的即時狀態和可用資源,自動調整資源 (例如 CPU、I/O、清除程序數量和清除程序的記憶體),不會影響系統效能。

  • 防範交易 ID 環繞。AlloyDB 會監控清除進度和交易 ID 耗用速度。必要時,AlloyDB 會清除資料庫中的每個資料表,藉此節省交易 ID 用量,避免交易 ID 環繞。

  • 定期清理資料表。AlloyDB 會根據無效元組數量和需要掃描的頁面,觸發自動回收空間程序。及時移除無效的元組,避免資料表或索引膨脹。

  • 自動偵測阻礙項目。AlloyDB 會自動偵測阻礙因素,例如長時間執行的交易、孤立的預先準備交易和孤立的複寫位置,並在 postgres 記錄中顯示類似下列內容的警告訊息:

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

設定自動調整型自動回收功能

根據預設,AlloyDB 會啟用自動調節自動清除功能。您可以將執行個體的 enable_google_adaptive_autovacuum 資料庫旗標設為 off,停用可調整的自動清理功能。

如要進一步瞭解如何設定資料庫旗標,請參閱「設定執行個體的資料庫旗標」。

AlloyDB 支援多個與清理和自動清理相關的標準 PostgreSQL 資料庫標記,例如 vacuum_cost_delayautovacuum_vacuum_cost_delay。您不需要在任何這些標記中設定值,可調整的自動清理功能就能運作,因為這項功能會根據實際工作負載調整及最佳化行為。如果您在這些標記中設定值,則適應性自動清除會調整行為,將您的偏好設定納入考量。

如要查看與 vacuum 和 autovacuum 相關的完整 PostgreSQL 資料庫旗標清單,請參閱 vacuum 旗標autovacuum 旗標