設定資料庫參數

選取文件版本:

本頁面說明如何使用 AlloyDB Omni 編排器設定資料庫參數。

資料庫參數 (又稱 Grand Unified Configuration (GUC) 參數) 可用於調整 AlloyDB Omni 資料庫叢集的效能和行為。詳情請參閱 PostgreSQL 文件中的「設定參數」。

事前準備

設定資料庫參數前,請確認您具備下列項目:

  1. 安裝 AlloyDB Omni 調度器。
  2. 佈建並建立 AlloyDB Omni 叢集。

設定資料庫參數

如要設定資料庫參數,請使用 DBCluster 資源規格的 primarySpec 區段中的 parameters 欄位。

更新資源規格

DBCluster 資源規格中新增必要參數和值:

DBCluster:
  metadata:
    name: CLUSTER_NAME
  spec:
    primarySpec:
      # ... other settings ...
      parameters:
        max_wal_size: "MAX_WAL_SIZE"
        max_connections: "MAX_CONNECTIONS_LIMIT"

更改下列內容:

  • CLUSTER_NAME: 資料庫叢集名稱。
  • MAX_WAL_SIZE:自動 WAL 檢查點之間,WAL 可成長的最大大小,例如 2GB
  • MAX_CONNECTIONS_LIMIT:資料庫伺服器允許的並行連線數量上限,例如 200。支援的最小值為 50

建立叢集時支援的參數

您可以在叢集建立期間,於 DBCluster 資源規格中設定下列資料庫參數 (GUC):

  • log_connections
  • log_disconnections
  • log_hostname
  • log_statement
  • max_connections
  • max_wal_size
  • huge_pages
  • tcp_keepalives_idle
  • tcp_keepalives_interval
  • tcp_keepalives_count

您無法使用 DBCluster 規格設定不在清單中的參數,例如 shared_buffers。而是必須在建立叢集後手動更新

套用設定

使用偏好的自動化調度管理工具介面套用變更。

Ansible

ansible-playbook -i DEPLOYMENT_SPECIFICATION DBCLUSTER_PLAYBOOK -e resource_spec=DBCLUSTER_SPECIFICATION

請替換下列變數:

  • DEPLOYMENT_SPECIFICATION: 您在「安裝 AlloyDB Omni 元件」中建立的部署規格路徑。

  • DBCLUSTER_PLAYBOOK:為資料庫叢集建立的劇本路徑。

  • DBCLUSTER_SPECIFICATION:叢集規格的路徑。

alloydbctl

alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

請替換下列變數:

  • DEPLOYMENT_SPECIFICATION: 您在「安裝 AlloyDB Omni 元件」中建立的部署規格路徑。

  • DBCLUSTER_SPECIFICATION:叢集規格的路徑。

在叢集建立後更新資料庫參數

如要在叢集建立後更新參數,您必須手動修改資料庫節點上的設定檔。

更新高可用性叢集中的參數

如要在高可用性 (HA) 叢集中手動更新資料庫參數,請完成下列步驟:

  1. 如果 availability.enableAutoFailoveravailability.enableAutoHealDBCluster 規格檔案中設為 true,請將其設為 false

    DBCluster:
      metadata:
        name: my-db-cluster
      spec:
        databaseVersion: 18.1.0
        mode: ""
        availability:
          ...
          enableAutoFailover: false
          enableAutoHeal: false
          ...
    

    使用偏好的介面套用更新後的資源規格。

  2. 在每個資料庫節點上,編輯下列目錄中的 30startup.conf 檔案: DATA_DISK_PATH/18/db/postgresql.conf.d/

    DBCluster 資源規格中名為 DataDisk 的磁碟的 path 欄位值,替換為 DATA_DISK_PATH

    DBCluster 規格範例:

    DBCluster:
      spec:
        primarySpec:
          resources:
            disks:
            - name: DataDisk
              path: /var/lib/alloydbomni/data  # This is your DATA_DISK_PATH
    
  3. 30startup.conf 檔案中新增或更新資料庫參數設定。詳情請參閱 PostgreSQL 說明文件

  4. 在所有節點上重新啟動資料庫服務:

    sudo systemctl restart alloydbomni18
  5. 如果您修改了 DBCluster 資源規格中的 availability.enableAutoFailoveravailability.enableAutoHeal 欄位,請將這些欄位還原為原始值,然後套用變更。

更新獨立叢集中的參數

如要在獨立叢集中手動更新資料庫參數,請完成下列步驟:

  1. 在資料庫節點上,更新下列目錄中的 30startup.conf 檔案: DATA_DISK_PATH/18/db/postgresql.conf.d/

    DATA_DISK_PATH 替換為在 DBCluster 資源規格中為 DataDisk 定義的檔案系統路徑。

  2. 30startup.conf 檔案中新增或更新資料庫參數設定。

  3. 重新啟動資料庫服務:

    sudo systemctl restart alloydbomni18

驗證參數變更

套用設定後,您可以使用 psql 中的 SHOW 指令,確認參數已更新:

SHOW PARAMETER_NAME;

PARAMETER_NAME 替換為您設定的參數名稱。