資料庫參數 (又稱 Grand Unified Configuration (GUC) 參數) 可用於調整 AlloyDB Omni 資料庫叢集的效能和行為。詳情請參閱 PostgreSQL 文件中的「設定參數」。
事前準備
設定資料庫參數前,請確認您具備下列項目:
設定資料庫參數
如要設定資料庫參數,請使用 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_connectionslog_disconnectionslog_hostnamelog_statementmax_connectionsmax_wal_sizehuge_pagestcp_keepalives_idletcp_keepalives_intervaltcp_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) 叢集中手動更新資料庫參數,請完成下列步驟:
如果
availability.enableAutoFailover和availability.enableAutoHeal在DBCluster規格檔案中設為true,請將其設為false。DBCluster: metadata: name: my-db-cluster spec: databaseVersion: 18.1.0 mode: "" availability: ... enableAutoFailover: false enableAutoHeal: false ...使用偏好的介面套用更新後的資源規格。
在每個資料庫節點上,編輯下列目錄中的
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在
30startup.conf檔案中新增或更新資料庫參數設定。詳情請參閱 PostgreSQL 說明文件。在所有節點上重新啟動資料庫服務:
sudo systemctl restart alloydbomni18如果您修改了
DBCluster資源規格中的availability.enableAutoFailover和availability.enableAutoHeal欄位,請將這些欄位還原為原始值,然後套用變更。
更新獨立叢集中的參數
如要在獨立叢集中手動更新資料庫參數,請完成下列步驟:
在資料庫節點上,更新下列目錄中的
30startup.conf檔案:DATA_DISK_PATH/18/db/postgresql.conf.d/。將
DATA_DISK_PATH替換為在DBCluster資源規格中為DataDisk定義的檔案系統路徑。在
30startup.conf檔案中新增或更新資料庫參數設定。重新啟動資料庫服務:
sudo systemctl restart alloydbomni18
驗證參數變更
套用設定後,您可以使用 psql 中的 SHOW 指令,確認參數已更新:
SHOW PARAMETER_NAME;將 PARAMETER_NAME 替換為您設定的參數名稱。