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

AlloyDB Omni のデータベース パラメータを構成するには、次のいずれかでGrand Unified Configuration(GUC)パラメータを更新します。

  • VM で AlloyDB Omni を実行する環境用の postgresql.conf ファイル。

  • Kubernetes クラスタで AlloyDB Omni を実行する環境用のデータベース クラスタ マニフェスト。

コンテナ化された AlloyDB Omni でパラメータを更新する

VM で実行されている AlloyDB Omni では、次のように postgresql.conf ファイルを編集してパラメータを更新できます。

  1. AlloyDB Omni のインストールの postgresql.conf 構成ファイルを探します。

  2. テキスト エディタを使用して、postgresql.conf でデータベース フラグを追加または更新します。

    たとえば、パスワードの有効期限を適用するには、postgresql.conf ファイルで次のフラグを設定します。

    password.enforce_expiration = ON
    
  3. データベース フラグを追加または編集したら、postgresql.conf ファイルを再読み込みして変更を有効にします。たとえば、Docker を使用して AlloyDB Omni をインストールした場合は、次のコマンドを実行して Docker インスタンスを再起動し、postgresql.conf を再読み込みします。

    docker restart CONTAINER-NAME

詳細については、PostgreSQL ドキュメントのパラメータの設定をご覧ください。

Kubernetes クラスタ上の AlloyDB Omni でパラメータを更新する

データベース パラメータは、データベース クラスタ マニフェストの primarySpec セクションの parameters フィールドを使用して構成できます。

spec:
  primarySpec:
    parameters:
      "PARAMETER_NAME": "PARAMETER_VALUE"
      ...

次のように置き換えます。

  • PARAMETER_NAME: パラメータの名前(例: autovacuum)。
  • PARAMETER_VALUE: パラメータの値(off など)。

パラメータによっては、変更を有効にするためにクラスタを再起動する必要があります。再起動が必要なパラメータのリストを pg_catalog.pg_settings から取得できます。pg_catalog.pg_settings.context = 'postmaster' を含むパラメータは、再起動が必要です。

データベース パラメータを更新するには、次のコマンドを実行します。

kubectl patch dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -p '{"spec":{"primarySpec":{"parameters": {"PARAMETER_NAME": "PARAMETER_VALUE"}}}}' --type=merge

パラメータ設定は、currentParameters フィールドの status 部分にあります。

データベース パラメータを表示するには、次のコマンドを実行します。

kubectl get dbclusters.alloydbomni.dbadmin.goog dbcluster-sample -o jsonpath={.status.primary.currentParameters}

出力は次のようになります。

{"autovacuum":"off","max_connections":"3000"}

AlloyDB Omni がデータベース クラスタ マニフェストでリクエストされたパラメータを適用できない場合、currentParameters フィールドの値はマニフェストの parameters フィールドの値と異なる場合があります。たとえば、存在しないパラメータを適用したり、整数パラメータに文字列値を設定したりします。