GDC コンソールまたは gdcloud CLI を使用して、次のデータベース クラスタ属性を変更できます。
- 管理者ユーザーのデータベース パスワード
- 外部接続(有効/無効)
- 可用性レベル
- バックアップが有効で、バックアップの保持日数
- データベース フラグ
- データベース クラスタに割り当てられた CPU、メモリ、ストレージ
属性を変更する方法については、更新する属性タイプに対応するワークフローをご覧ください。
コンソール
高可用性
同じゾーンの高可用性を有効または無効にします。詳細については、高可用性を構成するをご覧ください。
データ保護
すべてのデータベース クラスタ タイプで、データ保護を有効または無効にできます。
- [データ保護] に移動し、[編集] 編集] をクリックして、データ保護の設定フォームにアクセスします。自動バックアップが有効になっている場合は、バックアップの保持期間を構成することもできます。
- 変更を加えたら、[保存] をクリックして、データベース クラスタに更新を適用します。
接続
すべてのデータベース クラスタ タイプで、データベース クラスタに GDC プロジェクト内からのみアクセスできるか、プロジェクト外からもアクセスできるかを選択できます。
- [接続] に移動し、[編集] 編集をクリックします。
- 接続構成を更新します。
[保存] をクリックして変更を適用します。
インスタンス
すべてのデータベース クラスタ タイプで、プライマリ インスタンスのプロパティを編集できます。
- [プライマリ インスタンス] に移動し、[編集] 編集] をクリックします。
[高パフォーマンス]、[標準]、[最小]、[カスタム] のいずれかの構成を選択します。[カスタム] オプションでは、プライマリ インスタンスの CPU 数、メモリ、ストレージを選択できます。
プライマリ インスタンスの CPU、メモリ、ストレージを更新するには、再起動が必要です。[保存して再起動] を選択して変更を適用します。
このフォームでは、すべてのデータベース クラスタ タイプで、データベース フラグの追加、変更、削除も行うことができます。使用可能なフラグのセットは、GDC によって事前に決定されます。詳細については、データベース フラグを構成するをご覧ください。
gdcloud CLI
次のコマンドを使用して、データベース クラスタを更新します。
sh
gdcloud database clusters update CLUSTER_NAME [options]
次のように置き換えます。
- CLUSTER_NAME は、更新するデータベース クラスタの名前に置き換えます。
オプションの全リストについては、コマンド リファレンスをご覧になるか、sh
gdcloud database clusters update --help を実行してください。
API
データ保護
すべてのデータベース クラスタ タイプで、そのデータベース クラスタの BackupPlan リソースを作成して、データ保護機能を有効にできます。
apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: BackupPlan
metadata:
name: DBCLUSTER_NAME-backupplan
namespace: USER_PROJECT
spec:
dbclusterRef: DBCLUSTER_NAME
backupRetainDays: RETENTION_DAYS
次の変数を置き換えます。
DBCLUSTER_NAME: データ保護を有効にするデータベース クラスタの名前。USER_PROJECT: データベース クラスタが作成されるユーザー プロジェクトの名前。RETENTION_DAYS: オペレーターがこのバックアップを保持する日数。1 ~ 90 の整数を指定する必要があります。
対応する BackupPlan リソースを編集して、保持日数などのデータ保護設定を構成することもできます。
データベース クラスタのデータ保護を無効にするには、以前に作成した対応する BackupPlan リソースを削除します。
管理者ユーザーのパスワードを再設定する
すべてのデータベース クラスタ タイプで、管理者ユーザーのデータベース パスワードを再設定できます。
パスワード シークレットを作成します。
apiVersion: v1 kind: Secret metadata: name: db-pw-DBCLUSTER_NAME namespace: USER_PROJECT type: Opaque data: DBCLUSTER_NAME: "BASE64_PASSWORD"DBCluster にパッチを適用します。
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"adminUser": {"passwordRef": {"name": "db-pw-DBCLUSTER_NAME"}}}}}' --type=merge -n USER_PROJECT
次の変数を置き換えます。
DBCLUSTER_NAME: データベース クラスタの名前。USER_PROJECT: データベース クラスタが更新されるユーザー プロジェクトの名前。BASE64_PASSWORD: データベースの管理者パスワード(base64 エンコード)。
新しいパスワードが有効になるまで 1 分ほどかかります。
データベース フラグを構成する
GDC に付属するデータベース イメージには、デフォルト設定が付属しています。ただし、アプリケーションの要件を満たすようにデフォルトのデータベース エンジンをカスタマイズできます。データベース クラスタには、GDC コンソールまたは gdcloud CLI を使用して設定できる事前定義されたフラグが用意されています。
コンソール
ナビゲーション メニューで [データベース サービス] を選択します。
データベース クラスタのリストで、データベース フラグを構成するデータベース クラスタをクリックします。
[データベース クラスタ内のインスタンス] セクションで、[プライマリを編集] をクリックします。

[フラグ] セクションで、[データベース フラグを追加] をクリックします。
フラグを選択して値を入力します。入力した値が有効でない場合、GDC コンソールに、必要な範囲または値の型を満たす方法が示されます。
[完了] をクリックします。
構成を設定するには、[保存] をクリックします。一部のフラグを有効にするには、データベース クラスタを再起動する必要があります。この場合は、[保存して再起動] をクリックします。
新しいフラグが設定されていることを確認するには、データベース クラスタの [データベース クラスタ内のインスタンス] セクションに戻り、新しいフラグと値が表示されていることを確認します。
データベース フラグを編集するには、[フラグ] セクションに戻り、既存のフラグを変更します。フラグ コンポーネントにカーソルを合わせ、 削除アイコンをクリックして、データベース フラグを削除します。
gdcloud
クラスタの新しいデータベース フラグを構成するか、既存のすべてのフラグをデフォルト値にリセットできます。
データベース クラスタのデータベース フラグを構成するには、次のコマンドを実行します。
gdcloud database clusters update CLUSTER_NAME \ --database-flags DB_FLAGS次のように置き換えます。
CLUSTER_NAME: データベース クラスタの名前。DB_FLAGS: データベース クラスタで実行されているデータベースに設定するデータベース フラグのカンマ区切りのリスト。各データベース フラグと値は Key-Value ペアとして設定されます。値のないフラグは、=文字の後に文字列を付けずに定義できます。
たとえば、次のコマンドは
test-db-clusterに複数のデータベース フラグを設定します。gdcloud database clusters update test-db-cluster \ --database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1使用可能なデータベース フラグの一覧については、使用可能なデータベース フラグをご覧ください。
すべてのデータベース フラグをデフォルト設定にリセットするには、次のコマンドを実行します。
gdcloud database clusters update CLUSTER_NAME --clear-database-flagsCLUSTER_NAMEは、データベース クラスタの名前に置き換えます。
API
データベース クラスタのデータベース フラグを構成するには、次のコマンドを実行します。
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"parameters": DB_FLAGS}}}' --type=merge -n USER_PROJECT次の変数を置き換えます。
DBCLUSTER_NAME: データベース クラスタの名前。USER_PROJECT: データベース クラスタが作成されたユーザー プロジェクトの名前。DB_FLAGS: 追加または更新するデータベース構成パラメータ。これは、Key-Value ペアの JSON 形式のオブジェクトである必要があります。ここで、キーはデータベース パラメータ名、値はそれぞれの設定です。たとえば、次のコマンドは複数のデータベース フラグを設定します。
"autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"使用可能なデータベース フラグの一覧については、使用可能なデータベース フラグをご覧ください。
すべてのデータベース フラグをデフォルト設定にリセットするには、次のコマンドを実行します。
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME --type=json -p='[{"op": "remove", "path": "/spec/primarySpec/parameters"}]' -n USER_PROJECT次の変数を置き換えます。
DBCLUSTER_NAME: データベース クラスタの名前。USER_PROJECT: データベース クラスタが作成されたユーザー プロジェクトの名前。
使用可能なデータベース フラグ
| フラグ | 範囲 | タイプ | 再起動が必要 |
|---|---|---|---|
| google_columnar_engine.enabled | オン、オフ | ブール値 | TRUE |
| google_columnar_engine.memory_size_in_mb | [128, 2147483647] | Integer | TRUE |
| anon.algorithm | 文字列 | FALSE | |
| anon.maskschema | 文字列 | FALSE | |
| anon.restrict_to_trusted_schemas | オン、オフ | ブール値 | FALSE |
| anon.salt | 文字列 | FALSE | |
| anon.sourceschema | 文字列 | FALSE | |
| dbs.enable_anon | オン、オフ | ブール値 | TRUE |
| dbs.enable_pg_bigm | オン、オフ | ブール値 | TRUE |
| dbs.enable_pg_cron | オン、オフ | ブール値 | TRUE |
| dbs.enable_pg_hint_plan | オン、オフ | ブール値 | TRUE |
| dbs.enable_pg_squeeze | オン、オフ | ブール値 | TRUE |
| dbs.enable_pg_wait_sampling | オン、オフ | ブール値 | TRUE |
| pg_bigm.enable_recheck | オン、オフ | ブール値 | FALSE |
| pg_bigm.gin_key_limit | [0, 2147483647] | Integer | FALSE |
| pg_bigm.similarity_limit | [0, 1] | 浮動小数点数 | FALSE |
| pg_hint_plan.debug_print | off、on、detailed、verbose、0、1、2、3、no、yes、false、true | 列挙型 | TRUE |
| pg_hint_plan.enable_hint | オン、オフ | ブール値 | FALSE |
| pg_hint_plan.enable_hint_table | オン、オフ | ブール値 | FALSE |
| pg_hint_plan.message_level | debug5、debug4、debug3、debug2、debug1、debug、info、notice、warning、error、log | 列挙型 | FALSE |
| pg_hint_plan.parse_messages | debug5、debug4、debug3、debug2、debug1、debug、info、notice、warning、error、log | 列挙型 | FALSE |
| pg_stat_statements.max | [100, 2147483647] | Integer | TRUE |
| pg_stat_statements.save | オン、オフ | ブール値 | FALSE |
| pg_stat_statements.track | none、top、all | 列挙型 | FALSE |
| pg_stat_statements.track_utility | オン、オフ | ブール値 | FALSE |
| pg_wait_sampling.history_period | [1, 2147483647] | Integer | FALSE |
| pg_wait_sampling.history_size | [1, 2147483647] | Integer | FALSE |
| pg_wait_sampling.profile_period | [1, 2147483647] | Integer | FALSE |
| pg_wait_sampling.profile_pid | オン、オフ | ブール値 | FALSE |
| pg_wait_sampling.profile_queries | オン、オフ | ブール値 | FALSE |
| pgaudit.log | read、write、function、role、ddl、misc、misc_set、 all、none、-read、-write、-function、-role、-ddl、 -misc、-misc_set、-all、-none |
繰り返しの文字列 | FALSE |
| pgaudit.log_client | オン、オフ | ブール値 | FALSE |
| pgaudit.log_parameter | オン、オフ | ブール値 | FALSE |
| pgaudit.log_level | debug5、debug4、debug3、debug2、debug1、info、 notice、warning、error、log |
列挙型 | FALSE |
| pgaudit.log_relation | オン、オフ | ブール値 | FALSE |
| pgaudit.log_catalog | オン、オフ | ブール値 | FALSE |
| pgaudit.role | 文字列 | FALSE | |
| pgaudit.log_statement_once | オン、オフ | ブール値 | FALSE |
| pglogical.batch_inserts | オン、オフ | ブール値 | TRUE |
| pglogical.conflict_log_level | debug5、debug4、debug3、debug2、debug1、info、notice、warning、error、log、fatal、panic | 列挙型 | FALSE |
| pglogical.conflict_resolution | error、apply_remote、keep_local、last_update_wins、first_update_wins | 列挙型 | FALSE |
| pglogical.extra_connection_options | 文字列 | FALSE | |
| pglogical.synchronous_commit | オン、オフ | ブール値 | TRUE |
| pglogical.use_spi | オン、オフ | ブール値 | TRUE |
| pgtt.enabled | オン、オフ | ブール値 | FALSE |
| plv8.execution_timeout | [1, 65536] | Integer | FALSE |
| plv8.memory_limit | [256, 3096] | Integer | FALSE |
| plv8.start_proc | 文字列 | FALSE |