データベース パラメータ(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)クラスタでデータベース パラメータを手動で更新する手順は次のとおりです。
DBCluster仕様ファイルでavailability.enableAutoFailoverとavailability.enableAutoHealが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/DATA_DISK_PATHは、DBClusterリソース仕様のDataDiskという名前のディスクのpathフィールドの値に置き換えます。DBCluster 仕様の例:
DBCluster: spec: primarySpec: resources: disks: - name: DataDisk path: /var/lib/alloydbomni/data # This is your DATA_DISK_PATH30startup.confファイルでデータベース パラメータ構成を追加または更新します。詳細については、PostgreSQL のドキュメントをご覧ください。すべてのノードでデータベース サービスを再起動します。
sudo systemctl restart alloydbomni18DBClusterリソース仕様で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 は、構成したパラメータの名前に置き換えます。