データベース パラメータを構成する

ドキュメントのバージョンを選択してください。

このページでは、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

次の変数を置き換えます。

alloydbctl

alloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION

次の変数を置き換えます。

クラスタの作成後にデータベース パラメータを更新する

クラスタの作成後にパラメータを更新するには、データベース ノードの構成ファイルを手動で変更する必要があります。

高可用性クラスタのパラメータを更新する

高可用性(HA)クラスタでデータベース パラメータを手動で更新する手順は次のとおりです。

  1. DBCluster 仕様ファイルで availability.enableAutoFailoveravailability.enableAutoHealtrue に設定されている場合は、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/

    DATA_DISK_PATH は、DBCluster リソース仕様の DataDisk という名前のディスクの 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.enableAutoFailover フィールドと availability.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

パラメータの変更を確認する

構成を適用した後、psqlSHOW コマンドを使用して、パラメータが更新されていることを確認できます。

SHOW PARAMETER_NAME;

PARAMETER_NAME は、構成したパラメータの名前に置き換えます。