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

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

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

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

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

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

コンソール

  1. Google Cloud コンソールで新しい Cloud Console プロジェクトを作成するか、プロジェクト名を選択して既存のプロジェクトを開きます。
  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"
  }
  deletion_protection = false # set to true to prevent destruction of the resource
}

変更を適用する

Google Cloud プロジェクトで Terraform 構成を適用するには、次の手順を行います。

  1. Cloud Shell を起動します。
  2. Terraform 構成を適用する Google Cloud プロジェクトを設定します。
          export GOOGLE_CLOUD_PROJECT=PROJECT_ID
          
  3. ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイル名には .tf 拡張子が必要です(例: main.tf)。このチュートリアルでは、このファイルを main.tf とします。
        mkdir DIRECTORY && cd DIRECTORY && touch main.tf
        
  4. 新しく作成した main.tf にサンプルコードをコピーします。

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

  5. 環境に適用するサンプル パラメータを確認し、変更します。
  6. 変更を保存します。
  7. Terraform を初期化します。
    terraform init
  8. 構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
    terraform plan

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

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

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

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

変更を削除する

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

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

    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 Console プロジェクトを作成するか、プロジェクト名を選択して既存のプロジェクトを開きます。
  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 Console プロジェクトを作成するか、プロジェクト名を選択して既存のプロジェクトを開きます。
  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 フラグ
有効な値と注意事項
再起動が
必要か
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
デフォルトは text です。
なし
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
デフォルトは log です。
PostgreSQL 12 以降でサポートされます。
なし
auto_explain.log_nested_statements boolean
on | off
デフォルトはオフです。
なし
auto_explain.log_settings boolean
on | off
デフォルトは off です。
PostgreSQL 12 以降でサポートされます。
なし
auto_explain.log_timing boolean
on | off
デフォルトはオンです。
なし
auto_explain.log_triggers boolean
on | off
デフォルトはオフです。
なし
auto_explain.log_wal boolean
on | off
デフォルトは off です。
PostgreSQL 13 以降でサポートされます。
なし
auto_explain.log_verbose boolean
on | off
デフォルトはオフです。
なし
auto_explain.sample_rate Float
0 ... 1
デフォルトは 1 です。
なし
autovacuum boolean
on | off
デフォルトは on です。
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
12147483s
デフォルトは 60s です。
なし
autovacuum_vacuum_cost_delay integer
0100 ミリ秒。vacuum_cost_delay 値を使用する場合は -1
PostgreSQL 9.6、10、11 の場合、デフォルト値は 2 ミリ秒です。
なし
autovacuum_vacuum_cost_limit integer
0 10000vacuum_cost_limit 値を使用する場合は -1
デフォルトは -1 です。
なし
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 です。
なし
checkpoint_completion_target float
0.01.0
デフォルトは 0.9 です。
なし
checkpoint_timeout integer
3086,400s
デフォルトは 300s です。
SLA に影響する可能性がある使用状況情報については、Cloud SQL for PostgreSQL インスタンスの運用ガイドラインをご覧ください。
なし
checkpoint_warning integer
02147483647s
デフォルトは 30s です。
なし
cloudsql.allow_passwordless_local_connections boolean
on | off
デフォルトは off です。
なし
cloudsql.enable_auto_explain boolean
on | off
デフォルトは off です。
あり
cloudsql.enable_pgaudit boolean
on | off
デフォルトは 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.iam_authentication boolean
on | off
デフォルトは off です。
なし
cloudsql.logical_decoding boolean
on | off
デフォルトは off です。
あり
cloudsql.pg_shadow_select_role string
No
commit_delay integer
0100000
デフォルトは 0 です。
なし
commit_siblings integer
01000
デフォルトは 5 です。
なし
constraint_exclusion enumeration
partition | on | off
デフォルトは partition です。
なし
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
デフォルトは on です。
PostgreSQL 10 以降でサポートされます。
あり
cron.log_run boolean
on | off
デフォルトは on です。
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
デフォルトは warning です。
PostgreSQL 10 以降でサポートされます。
なし
cursor_tuple_fraction float
0.01.0
デフォルトは 0.1 です。
なし
deadlock_timeout integer
12147483647 ms
デフォルトは 1000ms です。
なし
default_statistics_target integer
110000
デフォルトは 100 です。
なし
default_tablespace string なし
default_transaction_deferrable boolean
on | off
デフォルトは 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 です。
なし
enable_bitmapscan boolean
on | off
デフォルトは on です。
なし
enable_hashagg boolean
on | off
デフォルトは on です。
なし
enable_hashjoin boolean
on | off
デフォルトは on です。
なし
enable_indexonlyscan boolean
on | off
デフォルトは on です。
なし
enable_indexscan boolean
on | off
デフォルトは on です。
なし
enable_material boolean
on | off
デフォルトは on です。
なし
enable_mergejoin boolean
on | off
デフォルトは on です。
なし
enable_nestloop boolean
on | off
デフォルトは on です。
なし
enable_seqscan boolean
on | off
デフォルトは on です。
なし
enable_sort boolean
on | off
デフォルトは on です。
なし
enable_tidscan boolean
on | off
デフォルトは on です。
なし
force_parallel_mode enumeration
off | on | regress
デフォルトは off です。
なし
from_collapse_limit integer
12147483647
デフォルトは 8 です。
なし
geqo boolean
on | off
デフォルトは on です。
なし
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
642147483647KB
デフォルトは 4096KB です。
なし
hot_standby_feedback boolean
on | off
デフォルトは off です。
なし
huge_pages enumeration
try | off
デフォルトは try です。
あり
idle_in_transaction_session_timeout integer
02147483647 ms
デフォルトは 0 です。
なし
join_collapse_limit integer
12147483647
デフォルトは 8 です。
なし
lock_timeout integer
02147483647 ms
デフォルトは 0 です。
なし
log_autovacuum_min_duration integer
02147483647 ms。無効にする場合は -1
デフォルトは 0 です。
なし
log_checkpoints boolean
on | off
デフォルトは off です。
なし
log_connections boolean
on | off
デフォルトは off です。
なし
log_disconnections boolean
on | off
デフォルトは off です。
なし
log_duration boolean
on | off
デフォルトは off です。
なし
log_error_verbosity enumeration
terse | default | verbose
デフォルトは default です。
なし
log_executor_stats boolean
on | off
デフォルトは off です。
なし
log_hostname boolean
on | off
デフォルトは off です。
なし
log_lock_waits boolean
on | off
デフォルトは off です。
なし
log_min_duration_statement integer
-12147483647 ms
デフォルトは -1 です。
なし
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
デフォルトは error です。
なし
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
デフォルトは warning です。
なし
log_parser_stats boolean
on | off
デフォルトは off です。
なし
log_planner_stats boolean
on | off
デフォルトは off です。
なし
log_replication_commands boolean
on | off
デフォルトは off です。
なし
log_statement enumeration
none | ddl | mod | all
すべてのデータ定義言語(DDL)ステートメントとデータ変更ステートメント(INSERTUPDATEDELETETRUNCATE など)をログに記録する場合は mod に設定
デフォルトは none です。
なし
log_statement_stats boolean
on | off
log_parser_statslog_planner_stats、または log_executor_stats と一緒に有効にすることはできません。
デフォルトは off です。
なし
log_temp_files integer
02147483647 KB。無効にする場合は -1
デフォルトは 0 です。
No
log_timezone string
Cloud SQL for PostgreSQL のユーザーは、サーバーログに書き込まれるタイムスタンプに使用するタイムゾーンをこのフラグで設定できます。

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

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

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

このフラグの有効な形式として UTC+X をサポートしています。ここで、X+/-HH:MM です。

maintenance_work_mem integer
10242147483647 KB
デフォルトは 64 MB です。
なし
max_connections integer
14varies (see note)
デフォルト値は、インスタンスのメモリによって異なります。
インスタンスのメモリ(GB)デフォルト値
極小(~0.5)25
小(~1.7)50
3.75~6100
6~7.5200
7.5~15400
15~30500
30~60600
64~120800
120 以上1,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 以降でサポートされます。

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

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

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

なし
max_parallel_workers_per_gather integer
0varies
デフォルトでは 2 です。

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

なし
max_pred_locks_per_page integer
02147483647
デフォルトは 2 です。
PostgreSQL 10 以降でサポートされます。
あり
max_pred_locks_per_relation integer
-21474836482147483647
デフォルトは -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_relation_size integer
0715827882
単位は 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 min。無効にする場合は -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
デフォルトは off です。
なし
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
デフォルトは 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
デフォルトは on です。
なし
pg_stat_statements.track enumeration
none | top | all
デフォルトは top です。
なし
pg_stat_statements.track_utility boolean
on | off
デフォルトは on です。
なし
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 が on の場合にのみ有効になります。
なし
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
デフォルト値はありません。
なし
random_page_cost float
0.0inf
デフォルトは 4 です。
なし
session_replication_role enumeration
origin | replica | local
現在のセッションでのみ設定できます
-
replacement_sort_tuples integer
02147483647
なし
shared_buffers integer
サイズの範囲は、インスタンスのメモリの 10~60% です。
単位は 8 KB です。
デフォルトは、インスタンスの VM の合計メモリの 3 分の 1(MB)です。たとえば、インスタンスのメモリが 45 GB の場合、デフォルト値は 15085 MB です。
あり
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
デフォルトは on です。
なし
synchronize_seqscans boolean
on | off
デフォルトは on です。
なし
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
デフォルトは off です。
なし
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
デフォルトは log です。
なし
trace_sort boolean
on | off
デフォルトは off です。
なし
track_activities boolean
on | off
デフォルトは on です。
なし
track_activity_query_size integer
100102400
デフォルトは 1 KB です。
あり
track_commit_timestamp boolean
on | off
デフォルトは off です。
あり
track_counts boolean
on | off
デフォルトは on です。
なし
track_functions enumeration
none | pl | all
デフォルトは none です。
なし
track_io_timing boolean
on | off
デフォルトは off です。
なし
vacuum_cost_delay integer
0100 ms
デフォルトは 0 です。
なし
vacuum_cost_limit integer
110000
デフォルトは 200 です。
なし
vacuum_freeze_min_age integer
01000000000
デフォルトは 50000000 です。
なし
vacuum_freeze_table_age integer
02000000000
デフォルトは 150000000 です。
なし
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 boolean
on | off
デフォルトは off です。
なし
wal_receiver_timeout integer
02147483647
デフォルトは 60 秒です。

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

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

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

なし
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 に設定されます。

バックグラウンド ライターの詳細については、PostgreSQL のドキュメントをご覧ください。

session_replication_role

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

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

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

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

トラブルシューティング

問題 トラブルシューティング
タイムゾーンを設定するフラグがない。

Cloud SQL では、PostgreSQL はタイムゾーン フラグをサポートしていないため、ユーザーのニーズに合わせてタイムゾーンを調整できません。タイムゾーンをセッションごとに設定できますが、ログオフすると期限切れになります。

データベースに接続して、ユーザーまたはデータベースごとにデータベースのタイムゾーンを目的のタイムゾーンに設定することをおすすめします。

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


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

次のステップ