データベース フラグを構成する

このページでは、Cloud SQL のデータベース フラグを構成する方法について説明し、インスタンスに設定できるフラグの一覧を示します。データベース フラグは、PostgreSQL パラメータの調整、オプションの調整、インスタンスの構成や調整など、多くの操作で使用します。

場合によっては、目的の機能を完全に有効にするために、1 つのフラグの設定だけでなく、別のフラグの設定も必要になることがあります。

データベース インスタンスのフラグを設定、削除、変更すると、データベースが再起動される場合があります。その場合、フラグの値はフラグを削除するまでインスタンスに対して保持されます。インスタンスがレプリカのソースで、インスタンスが再起動されると、レプリカはインスタンスの現在の構成に合わせて再起動します。

データベース フラグを構成する

データベース フラグを設定する

コンソール

  1. Google Cloud コンソールで、データベース フラグを設定する Cloud SQL インスタンスを含むプロジェクトを選択します。
  2. インスタンスを開き、[編集] をクリックします。
  3. 下方向にスクロールして [フラグ] セクションを表示します。
  4. それまでにインスタンスで設定したことのないフラグを設定するには、[項目を追加] をクリックし、プルダウン メニューからフラグを選択して、その値を設定します。
  5. [保存] をクリックして、変更を保存します。
  6. [概要] ページの [フラグ] で、変更を確認します。

gcloud

インスタンスを編集します。

gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2

このコマンドでは、以前に設定されたすべてのデータベース フラグが上書きされます。これらを保持し、新しいフラグを追加するには、インスタンスに設定するすべてのフラグの値を含めます。具体的に含まれていないフラグはデフォルト値に設定されます。値のないフラグについては、フラグ名の後に等号(=)を付けておきます。

たとえば、log_connections フラグと log_min_error_statement フラグを設定するには、次のコマンドを使用します。

gcloud sql instances patch INSTANCE_NAME \
  --database-flags=log_connections=on,log_min_error_statement=error

Terraform

データベース フラグを追加するには、Terraform リソースを使用します。

resource "google_sql_database_instance" "instance" {
  name             = "postgres-instance"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    database_flags {
      name  = "log_connections"
      value = "on"
    }
    database_flags {
      name  = "log_min_error_statement"
      value = "error"
    }
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

変更を適用する

Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。

Cloud Shell を準備する

  1. Cloud Shell を起動します。
  2. Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。

    このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。

ディレクトリを準備する

Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。

  1. Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は .tf にする必要があります(例: main.tf)。このチュートリアルでは、このファイルを main.tf とします。
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。

    新しく作成した main.tf にサンプルコードをコピーします。

    必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。

  3. 環境に適用するサンプル パラメータを確認し、変更します。
  4. 変更を保存します。
  5. Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行う必要があります。
    terraform init

    必要に応じて、最新バージョンの Google プロバイダを使用する場合は、-upgrade オプションを使用します。

    terraform init -upgrade

変更を適用する

  1. 構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
    terraform plan

    必要に応じて構成を修正します。

  2. 次のコマンドを実行し、プロンプトで「yes」と入力して、Terraform 構成を適用します。
    terraform apply

    Terraform に「Apply complete!」のメッセージが表示されるまで待ちます。

  3. Google Cloud プロジェクトを開いて結果を表示します。Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。

変更を削除する

変更を削除するには、次の手順を行います。

  1. 削除の保護を無効にするには、Terraform 構成ファイルで deletion_protection 引数を false に設定します。
    deletion_protection =  "false"
  2. 次のコマンドを実行し、プロンプトで「yes」と入力して、更新された Terraform 構成を適用します。
    terraform apply
  1. 以前に Terraform 構成で適用されたリソースを削除するには、次のコマンドを実行して、プロンプトに「yes」と入力します。

    terraform destroy

REST v1

既存のデータベースのフラグを設定するには:

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

リクエストの本文(JSON):

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。

REST v1beta4

既存のデータベースのフラグを設定するには:

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

リクエストの本文(JSON):

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。

すべてのフラグをデフォルト値にクリアする

コンソール

  1. Google Cloud コンソールで、すべてのフラグをクリアする Cloud SQL インスタンスが含まれているプロジェクトを選択します。
  2. インスタンスを開き、[編集] をクリックします。
  3. [データベースのフラグ] セクションを開きます。
  4. 表示されているフラグの横にある X をクリックします。
  5. [保存] をクリックして、変更を保存します。

gcloud

インスタンスのすべてのフラグをデフォルト値にクリアします。

gcloud sql instances patch INSTANCE_NAME \
--clear-database-flags

インスタンスを再起動する確認を求められます。

REST v1

既存のインスタンスのフラグをすべてクリアするには:

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

リクエストの本文(JSON):

{
  "settings":
  {
    "databaseFlags": []
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

既存のインスタンスのフラグをすべてクリアするには:

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

リクエストの本文(JSON):

{
  "settings":
  {
    "databaseFlags": []
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

データベース フラグの現在の値を表示する

すべての PostgreSQL 設定の現在値を表示するには、psql クライアントでインスタンスにログインし、次のステートメントを入力します。

 SELECT name, setting FROM pg_settings;

サポートされているフラグのみ値を変更できます(下記を参照)。

インスタンスに設定されているデータベース フラグを確認する

Cloud SQL インスタンスに対して設定されているフラグを確認するには:

コンソール

  1. Google Cloud コンソールで、設定されているデータベース フラグを確認する Cloud SQL インスタンスを含むプロジェクトを選択します。
  2. インスタンスを選択して、[インスタンスの概要] ページを開きます。

    設定済みのデータベース フラグは、[データベースのフラグ] セクションに一覧表示されます。

gcloud

インスタンスの状態を取得します。

gcloud sql instances describe INSTANCE_NAME

出力では、データベース フラグは settings の下にコレクション databaseFlags として一覧表示されます。出力でのフラグの表示の詳細については、インスタンスのリソースの表示をご覧ください。

REST v1

インスタンスに構成されているフラグを一覧表示するには:

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

出力で databaseFlags フィールドを探します。

REST v1beta4

インスタンスに構成されているフラグを一覧表示するには:

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

出力で databaseFlags フィールドを探します。

サポートされているフラグ

以下に記載のないフラグはサポートされていません。

各フラグについては、Cloud SQL でサポートされる値や範囲が、対応する PostgreSQL のパラメータやオプションと異なる場合があります。

A | C | D | E | F | G | H | I | J | L | M | O | P | R | S | T | V | W

Cloud SQL フラグ
有効な値と注意事項
再起動が
必要か
anon.algorithm String
デフォルト値は sha256 です。
いいえ
anon.maskschema String
デフォルトは mask です。
いいえ
anon.restrict_to_trusted_schemas boolean
on | off
デフォルトはオフです。
いいえ
anon.salt String
デフォルト値はありません。
いいえ
anon.sourceshema String
デフォルトは public です。
いいえ
auto_explain.log_analyze boolean
on | off
デフォルトはオフです。
×
auto_explain.log_buffers boolean
on | off
デフォルトはオフです。
×
auto_explain.log_min_duration Integer
-1 ... 2147483647
デフォルト値は -1 です。
×
auto_explain.log_format String
text|xml|json|yaml
デフォルトはテキストです。
×
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
デフォルトはログです。
PostgreSQL 12 以降でサポートされます。
×
auto_explain.log_nested_statements boolean
on | off
デフォルトはオフです。
×
auto_explain.log_settings boolean
on | off
デフォルトはオフです。
PostgreSQL 12 以降でサポートされます。
×
auto_explain.log_timing boolean
on | off
デフォルトはオンです。
×
auto_explain.log_triggers boolean
on | off
デフォルトはオフです。
×
auto_explain.log_wal boolean
on | off
デフォルトはオフです。
PostgreSQL 13 以降でサポートされます。
×
auto_explain.log_verbose boolean
on | off
デフォルトはオフです。
×
auto_explain.sample_rate Float
0 ... 1
デフォルト値は 1 です。
×
autovacuum boolean
on | off
デフォルトはオンです。
SLA に影響する可能性がある使用状況情報については、Cloud SQL for PostgreSQL インスタンスの運用ガイドラインをご覧ください。
×
autovacuum_analyze_scale_factor float
0100
デフォルト値は 0.1 です。
×
autovacuum_analyze_threshold integer
02147483647
デフォルト値は 50 です。
×
autovacuum_freeze_max_age integer
1000002000000000
デフォルトは値 200000000 です。
SLA に影響する可能性がある使用状況情報については、Cloud SQL for PostgreSQL インスタンスの運用ガイドラインをご覧ください。
autovacuum_max_workers integer
1varies (see note)
デフォルトは 3 です。
autovacuum_multixact_freeze_max_age integer
100002000000000
デフォルト値は 400000000 です。
SLA に影響する可能性がある使用状況情報については、Cloud SQL for PostgreSQL インスタンスの運用ガイドラインをご覧ください。
autovacuum_naptime integer
12147483
デフォルト値は 60 秒です。
×
autovacuum_vacuum_cost_delay integer
0100 ミリ秒、またはPostgreSQL 9.6、10 および 11 の vacuum_cost_delay
を使用する -1 の場合、デフォルト値は 2 ミリ秒です。
×
autovacuum_vacuum_cost_limit integer
0 10000、または vacuum_cost_limit の値を使用する -1
デフォルト値は -1 です。
いいえ
autovacuum_vacuum_insert_scale_factor float
0100
デフォルトは 0.2 です。
いいえ
autovacuum_vacuum_insert_threshold integer
-12147483647
デフォルトは 1000 です。
いいえ
autovacuum_vacuum_scale_factor float
0100
デフォルト値は 0.2 です。
×
autovacuum_vacuum_threshold integer
02147483647
デフォルト値は 50 です。
×
autovacuum_work_mem integer
02147483647 KB、maintenance_work_mem の値を使用する場合は -1
デフォルト値は -1 です。
×
backend_flush_after integer
0256
単位は 8 KB です。
デフォルトは 0 です。
×
bgwriter_delay integer
1010000 ms
デフォルトは 200 です。
×
bgwriter_flush_after integer
0256
単位は 8 KB です。
デフォルトは 64 です。
×
bgwriter_lru_maxpages integer
01073741823
デフォルト値は 100 です。
×
bgwriter_lru_multiplier Float
010
デフォルト値は 2 です。
×
checkpoint_completion_target float
0.01.0
デフォルト値は 0.9 です。
×
checkpoint_flush_after integer
0256
単位は 8 KB です。
デフォルトは 32 です。
×
checkpoint_timeout integer
3086,400
デフォルト値は 300 秒です。
SLA に影響する可能性がある使用状況情報については、Cloud SQL for PostgreSQL インスタンスの運用ガイドラインをご覧ください。
×
checkpoint_warning integer
02147483647
デフォルト値は 30 秒です。
×
client_connection_check_interval integer
02147483647
デフォルト値は 0 です。
×
cloudsql.allow_passwordless_local_connections boolean
on | off
デフォルトは off です。
×
cloudsql.enable_anon boolean
on | off
デフォルトは off です。
いいえ
cloudsql.enable_auto_explain boolean
on | off
デフォルトは off です。
はい
cloudsql.enable_maintenance_mode boolean
on | off
デフォルトは off です。
はい
cloudsql.enable_pgaudit boolean
on | off
デフォルトはオフです。
cloudsql.enable_pg_bigm boolean
on | off
デフォルト: off
cloudsql.enable_pg_cron boolean
on | off
デフォルトは off です。
PostgreSQL 10 以降でサポートされます。
cloudsql.enable_pg_hint_plan boolean
on | off
デフォルトは off です。
cloudsql.enable_pglogical boolean
on | off
デフォルトは off です。
はい
cloudsql.enable_pg_squeeze boolean
on | off
デフォルトは off です。
はい
cloudsql.enable_pg_wait_sampling boolean
on | off
はい
cloudsql.iam_authentication boolean
on | off
デフォルトは off です。
×
cloudsql.logical_decoding boolean
on | off
デフォルトは off です。
はい
cloudsql.max_failed_attempts_user integer
0 ... 10000
デフォルトは 10 件です。
はい
cloudsql.pg_authid_select_role string
いいえ
commit_delay integer
0100000
デフォルト値は 0 です。
×
commit_siblings integer
01000
デフォルト値は 5 です。
×
constraint_exclusion enumeration
partition | on | off
デフォルトはパーティションです。
×
cpu_index_tuple_cost float
0.0inf
デフォルト値は 0.005 です。
×
cpu_operator_cost float
0.0inf
デフォルト値は 0.0025 です。
×
cpu_tuple_cost float
0.0inf
デフォルト値は 0.01 です。
×
cron.database_name String.
PostgreSQL 10 以降でサポートされます。
cron.log_statement boolean
on | off
デフォルトはオンです。
PostgreSQL 10 以降でサポートされます。
cron.log_run boolean
on | off
デフォルトはオンです。
PostgreSQL 10 以降でサポートされます。
cron.max_running_jobs Integer
0 ... varies
デフォルト値は 5 です。
PostgreSQL 10 以降でサポートされます。
cron.log_min_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
デフォルトは警告です。
PostgreSQL 10 以降でサポートされます。
×
cursor_tuple_fraction float
0.01.0
デフォルト値は 0.1 です。
×
deadlock_timeout integer
12147483647 ミリ秒
デフォルト値は 1,000 ミリ秒です。
×
default_statistics_target integer
110000
デフォルト値は 100 です。
×
default_tablespace string ×
default_transaction_deferrable boolean
on | off
デフォルトはオフです。
×
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
デフォルトは「read committed」です。
×
effective_cache_size integer
サイズの範囲は、インスタンスのメモリの 10~70% です。
単位は 8 KB です。
デフォルトは VM メモリの 40% です。たとえば、45 GB のインスタンス メモリの場合、デフォルト値は 18537160 KB です。
いいえ
effective_io_concurrency integer
0 ... 1000
デフォルトは 1 です。
×
enable_async_append boolean
on | off
デフォルトはオンです。
×
enable_bitmapscan boolean
on | off
デフォルトはオンです。
×
enable_gathermerge boolean
on | off
デフォルトはオンです。
×
enable_incremental_sort boolean
on | off
デフォルトはオンです。
×
enable_memoize boolean
on | off
デフォルトはオンです。
×
enable_parallel_append boolean
on | off
デフォルトはオンです。
×
enable_parallel_hash boolean
on | off
デフォルトはオンです。
×
enable_partition_pruning boolean
on | off
デフォルトはオンです。
×
enable_partitionwise_aggregate boolean
on | off
デフォルトは off です。
×
enable_partitionwise_join boolean
on | off
デフォルトは off です。
×
enable_hashagg boolean
on | off
デフォルトはオンです。
×
enable_hashjoin boolean
on | off
デフォルトはオンです。
×
enable_indexonlyscan boolean
on | off
デフォルトはオンです。
×
enable_indexscan boolean
on | off
デフォルトはオンです。
×
enable_material boolean
on | off
デフォルトはオンです。
×
enable_mergejoin boolean
on | off
デフォルトはオンです。
×
enable_nestloop boolean
on | off
デフォルトはオンです。
×
enable_seqscan boolean
on | off
デフォルトはオンです。
×
enable_sort boolean
on | off
デフォルトはオンです。
×
enable_tidscan boolean
on | off
デフォルトはオンです。
×
force_parallel_mode enumeration
off | on | regress
デフォルトは off です。
×
from_collapse_limit integer
12147483647
デフォルト値は 8 です。
×
geqo boolean
on | off
デフォルトはオンです。
×
geqo_effort integer
110
デフォルト値は 5 です。
×
geqo_generations integer
02147483647
デフォルト値は 0 です。
×
geqo_pool_size integer
02147483647
デフォルト値は 0 です。
×
geqo_seed float
0.01.0
デフォルト値は 0 です。
×
geqo_selection_bias float
1.52.0
デフォルト値は 2 です。
×
geqo_threshold integer
22147483647
デフォルト値は 12 です。
×
gin_fuzzy_search_limit integer
02147483647
デフォルト値は 0 です。
×
gin_pending_list_limit integer
642147483647 KB
デフォルト値は 4096 KB です。
いいえ
hash_mem_multiplier float
11000
デフォルトは 2 です。
いいえ
hot_standby_feedback boolean
on | off
デフォルトはオフです。
×
huge_pages enumeration
try | off
デフォルトは try です。
idle_in_transaction_session_timeout integer
02147483647 ミリ秒
デフォルト値は 0 です。
いいえ
ivfflat.probes integer
1 ... varies
デフォルト値は 1 です。
PostgreSQL 11 以降でサポートされます。
×
join_collapse_limit integer
12147483647
デフォルト値は 8 です。
×
lock_timeout integer
02147483647 ミリ秒
デフォルト値は 0 です。
×
log_autovacuum_min_duration integer
02147483647 ミリ秒、無効にする場合は -1
デフォルト値は 0 です。
×
log_checkpoints boolean
on | off
デフォルトはオフです。
×
log_connections boolean
on | off
デフォルトはオフです。
×
log_disconnections boolean
on | off
デフォルトはオフです。
×
log_duration boolean
on | off
デフォルトはオフです。
×
log_error_verbosity enumeration
terse | default | verbose
デフォルトは default です。
×
log_executor_stats boolean
on | off
デフォルトはオフです。
×
log_hostname boolean
on | off
デフォルトはオフです。
いいえ
log_line_prefix String
ログファイルの各行の先頭で生成される printf スタイルの文字列。
デフォルトは %m [%p]: [%l-1] db=%d,user=%u であり、タイムスタンプ、プロセス ID、データベース、ユーザー名をログに記録します。
いいえ
log_lock_waits boolean
on | off
デフォルトはオフです。
×
log_min_duration_statement integer
-12147483647 ミリ秒
デフォルト値は -1 です。
×
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
デフォルトはエラーです。
×
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
デフォルトは warning です。
×
log_parser_stats boolean
on | off
デフォルトはオフです。
×
log_planner_stats boolean
on | off
デフォルトはオフです。
×
log_recovery_conflict_waits boolean
on | off
デフォルトはオフです。
×
log_replication_commands boolean
on | off
デフォルトはオフです。
×
log_statement enumeration
none | ddl | mod | all
mod に設定すると、すべてのデータ定義言語(DDL)ステートメントと、INSERTUPDATEDELETETRUNCATE などのデータ修正ステートメントをログに記録します
デフォルトは none です。
×
log_statement_stats boolean
on | off
log_parser_statslog_planner_statslog_executor_stats と一緒に有効にすることはできません。
デフォルトはオフです。
×
log_temp_files integer
02147483647 KB、無効にする場合は -1
デフォルト値は 0 です。
No
log_timezone string
Cloud SQL for PostgreSQL のユーザーは、サーバーログに書き込まれるタイムスタンプに使用するタイムゾーンをこのフラグで設定できます。

タイムゾーンは名前で指定します。たとえば、Europe/London はロンドンのタイムゾーン名です。

このフラグは、対象のプライマリ インスタンスとすべてのリードレプリカについて、手動で更新する必要があります。

タイムゾーン名では、大文字と小文字が区別されません。大文字でも小文字でもかまいません。

このフラグの有効な形式として UTC+X がサポートされています(X+/-HH:MM)。

はい
logical_decoding_work_mem integer
64 ... 2147483647
デフォルトは 65536 です。
いいえ
maintenance_io_concurrency integer
0 ... 1000
デフォルトは 10 です。
いいえ
maintenance_work_mem integer
10242147483647 KB
デフォルト値は 64 MB です。
×
max_connections integer
14 ... varies (see note)
デフォルト値は、一連のプライマリの中で最大のインスタンス(このインスタンス、また、リードレプリカの場合は、そのプライマリ、そのプライマリのプライマリなど、レプリケーション ツリーのルートに至るまで)のメモリ量によって異なります
最大インスタンスのメモリ(GB)デフォルト値
最小(~0.5)25
小(~1.7)50
3.75~6 未満100
6~7.5 未満200
7.5~15 未満400
15~30 未満500
30~60 未満600
60~120 未満800
>=1201,000

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。 こういったプライマリの変更は、レプリカが再起動される原因となります。

あり
max_locks_per_transaction integer
102,147,483,647
デフォルトは 64 です。

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。 こういったプライマリの変更は、レプリカが再起動される原因となります。

あり
max_logical_replication_workers integer
48192
デフォルトは 4 です。
PostgreSQL 10 以降でサポートされます。
あり
max_parallel_maintenance_workers integer
0varies
デフォルトは 2 です。
PostgreSQL 11 以降でサポートされます。

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。

プライマリの値が default の場合、レプリカの値は変更できません。レプリカの値を変更するには、まずプライマリの値を整数に設定します。

いいえ
max_parallel_workers integer
0varies
デフォルトは 8 です。
PostgreSQL 10 以降でサポートされます。

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。

プライマリの値が default の場合、レプリカの値は変更できません。レプリカの値を変更するには、まずプライマリの値を整数に設定します。

いいえ
max_parallel_workers_per_gather integer
0varies
デフォルトは 2 です。

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。

プライマリの値が default の場合、レプリカの値は変更できません。レプリカの値を変更するには、まずプライマリの値を整数に設定します。

いいえ
max_pred_locks_per_page integer
02147483647
デフォルト値は 2 です。
PostgreSQL 10 以降でサポートされます。
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
デフォルト値は -2 です。
PostgreSQL 10 以降でサポートされます。
max_pred_locks_per_transaction integer
641048576
はい
max_prepared_transactions integer
0varies
メモリサイズ(MB)最大値
0~3,84030,000
3,840~7,68085,000
7,680~15,360200,000
15,360 以上262,000

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。 こういったプライマリの変更は、レプリカが再起動される原因となります。

あり
max_replication_slots integer
10varies
デフォルト値は 10 です。
max_standby_archive_delay integer
02147483647 ミリ秒。待機を継続する場合は -1
×
max_standby_streaming_delay integer
02147483647 ミリ秒。待機を継続する場合は -1
×
max_sync_workers_per_subscription integer
264
max_logical_replication_workers 以下にする必要があります。
×
max_wal_senders integer
10varies
デフォルト値は 10 です。

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。 こういったプライマリの変更は、レプリカが再起動される原因となります。

あり
max_wal_size integer
2 ... 2147483647

バージョン 9.6 の場合は 16 MB(WAL ファイルサイズ)、PostgreSQL 10 以降の場合は 1 MB です。

インスタンスのメモリが 3.75 GB 以上の場合、デフォルト値は 1504 MB です。インスタンスのメモリが 3.75 GB 未満の場合、デフォルト値は 1 GB です。

SLA に影響する可能性がある使用状況情報については、Cloud SQL for PostgreSQL インスタンスの運用ガイドラインをご覧ください。
×
max_worker_processes integer
8varies

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。 こういったプライマリの変更は、レプリカが再起動される原因となります。

min_parallel_index_scan_size integer
0715827882
単位は 8 KB
×
min_parallel_table_scan_size integer
0715827882
単位は 8 KB
×
min_parallel_relation_size integer
0 ... 715827882
単位は 8 KB
PostgreSQL 9.6 でのみサポートされます。
×
min_wal_size integer
32 ... 2147483647

バージョン 9.6 の場合は 16 MB(WAL ファイルサイズ)、PostgreSQL 10 以降の場合は 1 MB です。

×
old_snapshot_threshold integer
086400 分。無効にする場合は -1
デフォルトは -1 です。
parallel_setup_cost float
0.0inf
デフォルト値は 1000 です。
×
parallel_tuple_cost float
0.0inf
デフォルト値は 0.1 です。
×
password_encryption enumeration
md5 | scram-sha-256

デフォルトは、PostgreSQL のバージョンによって異なります。PostgreSQL バージョン 10~13 のデフォルトは md5 です。PostgreSQL 14 以降のデフォルトは scram-sha-256 です。

×
pg_bigm.enable_recheck boolean
on | off
×
pg_bigm.gin_key_limit integer
02147483647
×
pg_bigm.similarity_limit float
0.01.0
×
pg_hint_plan.enable_hint boolean
on | off
デフォルトはオンです。
×
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
デフォルトはオフです。
×
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
デフォルトは info です。
×
pg_hint_plan.message_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
デフォルトはログです。
×
pg_hint_plan.enable_hint_table boolean
on | off
デフォルトはオフです。
×
pglogical.batch_inserts boolean
on | off
デフォルトは off です。
pglogical.conflict_log_level String
デフォルトは LOG です。
このフラグには、log_min_messages と同じ値を指定できます。
×
pglogical.conflict_resolution String
error|apply_remote|keep_local|last_update_wins|first_update_wins デフォルトは apply_remote です。
×
pglogical.extra_connection_options String
PostgreSQL のキーワード / 値接続文字列を使用できます。
デフォルトは空の文字列です。
×
pglogical.synchronous_commit boolean
on | off
デフォルトは on です。
pglogical.use_spi boolean
on | off
デフォルトは off です。
pg_stat_statements.max integer
1002147483647
デフォルト値は 5000 です。
pg_stat_statements.save boolean
on | off
デフォルトはオンです。
×
pg_stat_statements.track enumeration
none | top | all
デフォルトは top です。
×
pg_stat_statements.track_utility boolean
on | off
デフォルトはオンです。
×
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

カンマ区切りのリストを使用して複数のクラスを指定できます。クラスの前に - 記号を付けると、クラスを削除できます。デフォルトは none です。

×
pgaudit.log_catalog boolean
on | off
デフォルトは on です。
×
pgaudit.log_client boolean
on | off
デフォルトは off です。
×
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log
デフォルトは log です。また、pgaudit.log_level は、pgaudit.log_client がオンになっている場合にのみ有効になります。
×
pgaudit.log_parameter boolean
on | off
デフォルトは off です。
×
pgaudit.log_relation boolean
on | off
デフォルトは off です。
×
pgaudit.log_statement_once boolean
on | off
デフォルトは off です。
×
pgaudit.role string
デフォルトはありません。
いいえ
pgtt.enabled boolean
on | off
デフォルトは on です。
×
pg_wait_sampling.history_period integer
12147483647
×
pg_wait_sampling.history_size integer
12147483647
×
pg_wait_sampling.profile_period integer
12147483647
×
pg_wait_sampling.profile_pid boolean
on | off
×
pg_wait_sampling.profile_queries boolean
on | off
×
random_page_cost float
0.0inf
デフォルト値は 4 です。
×
plan_cache_mode

String
auto|force_generic_plan|force_custom_plan
デフォルトは auto です。
×
rdkit.agent_FP_bit_ratio float
03
×
rdkit.avalon_fp_size integer
649192
×
rdkit.dice_threshold float
01
×
rdkit.difference_FP_weight_agents integer
-1010
×
rdkit.difference_FP_weight_nonagents integer
120
×
rdkit.do_chiral_sss boolean
on | off
×
rdkit.do_enhanced_stereo_sss boolean
on | off
×
rdkit.featmorgan_fp_size integer
649192
×
rdkit.hashed_atompair_fp_size integer
649192
×
rdkit.hashed_torsion_fp_size integer
649192
×
rdkit.ignore_reaction_agents boolean
on | off
×
rdkit.init_reaction boolean
on | off
×
rdkit.layered_fp_size integer
649192
×
rdkit.morgan_fp_size integer
649192
×
rdkit.move_unmmapped_reactants_to_agents boolean
on | off
×
rdkit.rdkit_fp_size integer
649192
×
rdkit.reaction_difference_fp_size integer
649192
×
rdkit.reaction_difference_fp_type integer
13
×
rdkit.reaction_sss_fp_size integer
649192
×
rdkit.reaction_sss_fp_type integer
15
×
rdkit.sss_fp_size integer
644096
×
rdkit.tanimoto_threshold float
01
×
rdkit.threshold_unmapped_reactant_atoms float
01
×
replacement_sort_tuples integer
02147483647
×
session_replication_role enumeration
origin | replica | local
現在のセッションでのみ設定できます
-
seq_page_cost float
0.0inf
デフォルトは 1.0 です。
×
shared_buffers integer
サイズの範囲は、インスタンスのメモリの 10~60% です。
単位は 8 KB です。
デフォルトは、インスタンスの VM の合計メモリの 3 分の 1(MB)です。たとえば、インスタンスのメモリが 45 GB の場合、デフォルト値は 15085 MB です。
はい
squeeze.max_xlock_time integer
1 ... 2147483647
いいえ
squeeze.worker_autostart string
squeeze.worker_role string
ssl_max_protocol_version enumeration
Postgres 14: 使用する SSL / TLS プロトコルの最大バージョンを設定します。有効な値は ssl_min_protocol_version で、空の文字列を追加することで、任意のプロトコル バージョンを指定できます。
PostgreSQL 12 以降でサポートされます。
×
ssl_min_protocol_version enumeration
Postgres 14: 使用する SSL / TLS プロトコルの最小バージョンを設定します。現在有効な値は、TLSv1TLSv1.1TLSv1.2TLSv1.3 です。
デフォルト値は TLSv1 です。
PostgreSQL 12 以降でサポートされます。
×
standard_conforming_strings boolean
on | off
デフォルトはオンです。
×
synchronize_seqscans boolean
on | off
デフォルトはオンです。
×
tcp_keepalives_count integer
02147483647
デフォルト値は 5 です。
×
tcp_keepalives_idle integer
02147483647
デフォルト値は 60 です。
×
tcp_keepalives_interval integer
02147483647
デフォルト値は 60 です。
×
temp_buffers integer
1001,073,741,823
単位は 8 KB
×
temp_file_limit integer
10485762147483647 KB
デフォルトは、初期ディスクサイズの 10% です。たとえば、100 GB のディスクの場合、デフォルト値は 10262623 KB です。
いいえ
TimeZone string
Cloud SQL for PostgreSQL のユーザーは、タイムスタンプを表示および分析するためのタイムゾーンを設定できます。

タイムゾーンは名前で指定します。たとえば、Europe/London はロンドンのタイムゾーン名です。

このフラグは、対象のプライマリ インスタンスとすべてのリードレプリカについて、手動で更新する必要があります。

タイムゾーン名では、大文字と小文字が区別されません。大文字でも小文字でもかまいません。

このフラグの有効な形式として UTC+X がサポートされています(X+/-HH)。

trace_notify boolean
on | off
デフォルトはオフです。
×
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
デフォルトは log です。
×
trace_sort boolean
on | off
デフォルトはオフです。
×
track_activities boolean
on | off
デフォルトはオンです。
×
track_activity_query_size integer
100102400
デフォルト値は 1 KB です。
track_commit_timestamp boolean
on | off
デフォルトはオフです。
track_counts boolean
on | off
デフォルトはオンです。
×
track_functions enumeration
none | pl | all
デフォルトは none です。
×
track_io_timing boolean
on | off
デフォルトはオフです。
×
vacuum_cost_delay integer
0100 ミリ秒
デフォルト値は 0 です。
×
vacuum_cost_limit integer
110000
デフォルト値は 200 です。
×
vacuum_cost_page_dirty integer
010000
デフォルトは 20 です。
×
vacuum_cost_page_hit integer
0 ... 10000
デフォルトは 1 です。
×
vacuum_cost_page_miss integer
0 ... 10000
デフォルトは 10 です。
×
vacuum_failsafe_age integer
0 ... 2100000000
デフォルトは 1600000000 です。
いいえ
vacuum_freeze_min_age integer
01000000000
デフォルト値は 50000000 です。
×
vacuum_freeze_table_age integer
02000000000
デフォルト値は 150000000 です。
いいえ
vacuum_multixact_failsafe_age integer
0 ... 2100000000
デフォルトは 1600000000 です。
いいえ
vacuum_multixact_freeze_min_age integer
01000000000
デフォルト値は 5000000 です。
×
vacuum_multixact_freeze_table_age integer
02000000000
デフォルト値は 150000000 です。
×
wal_buffers integer
サイズの範囲は、インスタンスのメモリの 1~5% です。
単位は 8 KB。
デフォルト値は 16 MB です。
wal_compression enumeration
off | on | pglz | lz4 | zstd
デフォルトは off です。
いいえ
wal_receiver_timeout integer
02147483647
デフォルトは 60 秒です。

このフラグは、WAL 送信者と WAL 受信者に影響します。適切に設定されていない場合、このフラグは論理レプリケーションと物理レプリケーションに影響します。このフラグは、レプリケーションのパフォーマンスとレイテンシにも影響します。値を 0 にすると、タイムアウト メカニズムが無効になります。単位はミリ秒です。

×
wal_sender_timeout integer
02147483647
デフォルトは 60 秒です。

このフラグは、WAL 送信者と WAL 受信者に影響します。適切に設定されていない場合、このフラグは論理レプリケーションと物理レプリケーションに影響します。このフラグは、レプリケーションのパフォーマンスとレイテンシにも影響します。値を 0 にすると、タイムアウト メカニズムが無効になります。単位はミリ秒です。

×
wal_writer_delay integer
110000
デフォルト値は 200 です。
×
wal_writer_flush_after integer
02147483647
デフォルトは 128 です。
×
work_mem integer
642147483647 KB
デフォルト値は 4 MB です。
×

特別なフラグ

bgwriter

PostgreSQL にはバックグラウンド ライター(bgwriter)フラグがあります。このフラグは、新規または変更された共有バッファの書き込みを発行します。この共有バッファをダーティ バッファといいます。クリーンな共有バッファの数が十分でない場合、バックグラウンド書き込みはダーティ バッファをファイル システムに書き込み、クリーンとしてマークします。

bgwriter フラグに関連するフラグは bgwriter_delaybgwriter_lru_maxpages の 2 つです。bgwriter_delay は、バックグラウンド ライターのアクティビティ ラウンド間の遅延をミリ秒(ms)で指定し、bgwriter_lru_maxpages はバックグラウンド ライターによって書き込まれるバッファの数を指定します。

bgwriter フラグのデフォルト値は 200 ms です。ただし、500 GB を超えるソリッド ステート ドライブ(SSD)を選択した場合、bgwriter_delay フラグの値は 50 に設定され、bgwriter_lru_maxpages フラグが 200 に設定されます。

background writer の詳細については、PostgreSQL のドキュメントをご覧ください。

session_replication_role

PostgreSQL の session_replication_role フラグは論理レプリケーションに使用するように設計されており、個々のセッションの制約トリガーを無効にできます。

このフラグは、制約チェック(ほとんどの場合は外部キー)を回避する一部のメンテナンス オペレーションにも使用できる場合があります。

このフラグは、REPLICATION プロパティが設定されているすべてのユーザーがセッションで設定できます。ユーザーの REPLICATION プロパティは、 cloudsql.enable_pglogical または cloudsql.logical_decoding のいずれかのフラグがインスタンスに設定された場合、cloudsqlsuperuser によって設定できます。

このフラグをインスタンス全体に設定することはできません。

トラブルシューティング

問題 トラブルシューティング
セッションのタイムゾーンは設定したが、ログアウトすると期限切れになる。

データベースに接続し、データベースのタイムゾーンをユーザーごとまたはデータベースごとに希望するタイムゾーンに設定します。

Cloud SQL for PostgreSQL では、次の項目を指定できます。これらの設定は、セッションを終了しても残り、.conf 構成を再現します。

ALTER DATABASE dbname SET TIMEZONE TO 'timezone';
ALTER USER username SET TIMEZONE TO 'timezone';

これらの設定は、データベースへの新しい接続にのみ適用されます。タイムゾーンの変更を確認するには、インスタンスから接続解除して再接続します。

次のステップ