Datenbankflags konfigurieren

Auf dieser Seite wird gezeigt, wie Sie Datenbank-Flags für Cloud SQL konfigurieren und welche Flags sich für Ihre Instanz festlegen lassen. Sie können Datenbank-Flags für viele Vorgänge verwenden, z. B. für das Anpassen von PostgreSQL-Parametern und Optionen sowie für das Konfigurieren und Optimieren einer Instanz.

In einigen Fällen ist es notwendig, mit dem Festlegen eines Flags ein anderes Flag zu setzen, damit die Funktionalität in vollem Umfang zur Verfügung steht.

Wenn Sie ein Flag für eine Datenbankinstanz festlegen, entfernen oder ändern, wird die Datenbank möglicherweise neu gestartet. Der Wert des Flags wird dann für die Instanz beibehalten, bis Sie es entfernen. Wenn die Instanz die Quelle für ein Replikat ist und neu gestartet wird, wird das Replikat ebenfalls neu gestartet, um es an die aktuelle Konfiguration der Instanz anzupassen.

Datenbankflags konfigurieren

Datenbank-Flag festlegen

Console

  1. Wählen Sie in der Google Cloud Console das Projekt aus, das die Cloud SQL-Instanz enthält, für die Sie ein Datenbank-Flag festlegen möchten.
  2. Öffnen Sie die Instanz und klicken Sie auf Bearbeiten.
  3. Scrollen Sie nach unten zum Abschnitt Flags.
  4. Zum Setzen eines neuen Flags, das noch nicht in der Instanz gesetzt wurde, klicken Sie auf Zeile hinzufügen, wählen Sie das Flag aus dem Drop-down-Menü aus und legen Sie dessen Wert fest.
  5. Klicken Sie auf Speichern, um die Änderungen zu speichern.
  6. Bestätigen Sie die Änderungen auf der Übersichtsseite unter Flags.

gcloud

Bearbeiten Sie die Instanz:

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

Mit diesem Befehl werden alle zuvor festgelegten Datenbank-Flags überschrieben. Wenn Sie diese Flags beibehalten und neue Flags hinzufügen möchten, geben Sie die Werte für alle Flags an, die Sie für die Instanz festlegen möchten. Für alle Flags, die nicht ausdrücklich angegeben werden, gilt der Standardwert. Für Flags, die keinen Wert haben, geben Sie den Flag-Namen gefolgt von einem Gleichheitszeichen („=“) ein.

Die Flags log_connections und log_min_error_statement können Sie beispielsweise mit folgendem Befehl festlegen:

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

Terraform

Verwenden Sie zum Hinzufügen von Datenbank-Flags eine Terraform-Ressource.

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
}

Änderungen anwenden

Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud-Projekt anzuwenden.

Cloud Shell vorbereiten

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud-Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf. In dieser Anleitung wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.

    Kopieren Sie den Beispielcode in das neu erstellte main.tf.

    Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.

  3. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  4. Speichern Sie die Änderungen.
  5. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init

    Fügen Sie optional die Option -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  3. Öffnen Sie Ihr Google Cloud-Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

Änderungen löschen

So löschen Sie das Projekt:

  1. Um den Löschschutz zu deaktivieren, setzen Sie in der Terraform-Konfigurationsdatei das Argument deletion_protection auf false.
    deletion_protection =  "false"
  2. Wenden Sie die aktualisierte Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply
  1. Entfernen Sie Ressourcen, die zuvor mit Ihrer Terraform-Konfiguration angewendet wurden, indem Sie den folgenden Befehl ausführen und yes an der Eingabeaufforderung eingeben:

    terraform destroy

REST Version 1

Mit der Anfrage unten legen Sie ein Flag für eine vorhandene Datenbank fest.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

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

JSON-Text anfordern:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

Wenn bereits konfigurierte Flags für die Datenbank vorhanden sind, ändern Sie den obigen Befehl und fügen diese ein. Der Befehl PATCH überschreibt vorhandene Flags mit den Flags, die in der Anfrage festgelegt sind.

REST v1beta4

Mit der Anfrage unten legen Sie ein Flag für eine vorhandene Datenbank fest.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

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

JSON-Text anfordern:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

Wenn bereits konfigurierte Flags für die Datenbank vorhanden sind, ändern Sie den obigen Befehl und fügen diese ein. Der Befehl PATCH überschreibt vorhandene Flags mit den Flags, die in der Anfrage festgelegt sind.

Alle Flags auf Standardwerte zurücksetzen

Console

  1. Wählen Sie in der Google Cloud Console das Projekt aus, das die Cloud SQL-Instanz enthält, für die Sie alle Flags löschen möchten.
  2. Öffnen Sie die Instanz und klicken Sie auf Bearbeiten.
  3. Öffnen Sie den Bereich Datenbank-Flags.
  4. Klicken Sie neben allen angezeigten Flags auf X.
  5. Klicken Sie auf Speichern, um die Änderungen zu speichern.

gcloud

Setzen Sie alle Flags in einer Instanz auf ihren Standardwert zurück:

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

Sie werden aufgefordert, den Neustart der Instanz zu bestätigen.

REST Version 1

So löschen Sie alle Flags in einer vorhandenen Instanz:

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

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

JSON-Text anfordern:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

REST v1beta4

So löschen Sie alle Flags in einer vorhandenen Instanz:

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

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

JSON-Text anfordern:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

Aktuelle Werte von Datenbank-Flags abrufen

Zum Abrufen aller aktuellen Werte der PostgreSQL-Einstellungen melden Sie sich mit dem psql-Client bei Ihrer Instanz an und geben die folgende Anweisung ein:

 SELECT name, setting FROM pg_settings;

Sie können den Wert nur für unterstützte Flags ändern (wie unten aufgeführt).

Für eine Instanz festgelegte Datenbank-Flags ermitteln

So rufen Sie alle für eine Cloud SQL-Instanz festgelegten Flags auf:

Console

  1. Wählen Sie in der Google Cloud Console das Projekt aus, das die Cloud SQL-Instanz enthält, für die Sie die festgelegten Datenbank-Flags sehen möchten.
  2. Wählen Sie die Instanz aus, um die Seite Instanzübersicht zu öffnen.

    Die gesetzten Flags werden im Bereich Datenbank-Flags aufgelistet.

gcloud

Rufen Sie den Status der Instanz ab:

gcloud sql instances describe INSTANCE_NAME

In der Ausgabe werden Datenbank-Flags unter settings als databaseFlags-Sammlung aufgelistet. Weitere Informationen zur Darstellung der Flags in der Ausgabe finden Sie unter Darstellung von Instanzressourcen.

REST Version 1

Mit der Anfrage unten werden die Flags aufgelistet, die für eine Instanz konfiguriert sind.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Suchen Sie in der Ausgabe nach dem Feld databaseFlags.

REST v1beta4

Mit der Anfrage unten werden die Flags aufgelistet, die für eine Instanz konfiguriert sind.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Suchen Sie in der Ausgabe nach dem Feld databaseFlags.

Unterstützte Flags

Flags, die unten nicht erwähnt werden, werden nicht unterstützt.

Für ein bestimmtes Flag unterstützt Cloud SQL eventuell einen anderen Wert oder Bereich für den entsprechenden PostgreSQL-Parameter oder für die entsprechende PostgreSQL-Option.

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

Cloud SQL-Flag Typ
Gültige Werte und Hinweise
Neustart
erforderlich?
anon.algorithm String
Der Standardwert ist sha256.
Nein
anon.maskschema String
Der Standardwert ist mask.
Nein
anon.restrict_to_trusted_schemas boolean
on | off
Der Standardwert ist Aus.
Nein
anon.salt String
Es gibt keinen Standardwert.
Nein
anon.sourceshema String
Der Standardwert ist öffentlich.
Nein
auto_explain.log_analyze boolean
on | off
Der Standardwert ist Aus.
Nein
auto_explain.log_buffers boolean
on | off
Der Standardwert ist Aus.
Nein
auto_explain.log_min_duration Integer
-1 ... 2147483647
Der Standardwert ist -1.
Nein
auto_explain.log_format String
text|xml|json|yaml
Der Standardwert ist text.
Nein
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
Der Standardwert ist log.
Unterstützt in PostgreSQL 12 und höher.
Nein
auto_explain.log_nested_statements boolean
on | off
Der Standardwert ist Aus.
Nein
auto_explain.log_settings boolean
on off
Der Standardwert ist Aus.
Unterstützt in PostgreSQL 12 und höher.
Nein
auto_explain.log_timing boolean
on | off
Der Standardwert ist Ein.
Nein
auto_explain.log_triggers boolean
on | off
Der Standardwert ist Aus.
Nein
auto_explain.log_wal boolean
on off
Der Standardwert ist Aus.
Unterstützt in PostgreSQL 13 und höher.
Nein
auto_explain.log_verbose boolean
on | off
Der Standardwert ist Aus.
Nein
auto_explain.sample_rate Float
0 ... 1
Der Standardwert ist 1.
Nein
autovacuum boolean
on | off
Der Standardwert ist Ein.
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für Cloud SQL for PostgreSQL-Instanzen.
Nein
autovacuum_analyze_scale_factor float
0 ... 100
Der Standardwert ist 0,1.
Nein
autovacuum_analyze_threshold integer
0 ... 2147483647
Der Standardwert ist 50.
Nein
autovacuum_freeze_max_age integer
100000 ... 2000000000
Der Standardwert ist 200000000.
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für Cloud SQL for PostgreSQL-Instanzen.
Ja
autovacuum_max_workers integer
1 ... varies (see note)
Der Standardwert ist 3.
Ja
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
Der Standardwert ist 400000000.
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für Cloud SQL for PostgreSQL-Instanzen.
Ja
autovacuum_naptime integer
1 ... 2147483s
Der Standardwert ist 60.
Nein
autovacuum_vacuum_cost_delay integer
0 ... 100 ms, oder -1 zur Verwendung des Werts von vacuum_cost_delay
Für PostgreSQL 9.6, 10 und 11, Der Standardwert beträgt 2 ms.
Nein
autovacuum_vacuum_cost_limit integer
0 ... 10000, oder -1 zur Verwendung des Werts von vacuum_cost_limit
Der Standardwert ist -1.
Nein
autovacuum_vacuum_insert_scale_factor float
0 ... 100
Der Standardwert ist 0,2.
Nein
autovacuum_vacuum_insert_threshold integer
-1 ... 2147483647
Der Standardwert ist 1000.
Nein
autovacuum_vacuum_scale_factor float
0 ... 100
Der Standardwert ist 0,2.
Nein
autovacuum_vacuum_threshold integer
0 ... 2147483647
Der Standardwert ist 50.
Nein
autovacuum_work_mem integer
0 ... 2147483647, oder -1 zur Verwendung des Werts von maintenance_work_mem
Der Standardwert ist -1.
Nein
checkpoint_completion_target float
0.0 ... 1.0
Der Standardwert ist 0,9.
Nein
checkpoint_timeout integer
30 ... 86,400s
Der Standardwert ist 300 s.
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für Cloud SQL for PostgreSQL-Instanzen.
Nein
checkpoint_warning integer
0 ... 2147483647s
Der Standardwert ist 30 s.
Nein
cloudsql.allow_passwordless_local_connections boolean
on | off
Der Standardwert ist off.
Nein
cloudsql.enable_anon boolean
on | off
Der Standardwert ist off.
Nein
cloudsql.enable_auto_explain boolean
on | off
Der Standardwert ist off.
Ja
cloudsql.enable_maintenance_mode boolean
on | off
Der Standardwert ist off.
Ja
cloudsql.enable_pgaudit boolean
on off
Der Standardwert ist Aus.
Ja
cloudsql.enable_pg_bigm boolean
on | off
Standard: off
Ja
cloudsql.enable_pg_cron boolean
on | off
Der Standardwert ist off.
Unterstützt in PostgreSQL 10 und höher.
Ja
cloudsql.enable_pg_hint_plan boolean
on | off
Der Standardwert ist off.
Ja
cloudsql.enable_pglogical boolean
on | off
Der Standardwert ist off.
Ja
cloudsql.enable_pg_squeeze boolean
on | off
Der Standardwert ist off.
Ja
cloudsql.enable_pg_wait_sampling boolean
on | off
Ja
cloudsql.iam_authentication boolean
on | off
Der Standardwert ist off.
Nein
cloudsql.logical_decoding boolean
on | off
Der Standardwert ist off.
Ja
cloudsql.max_failed_attempts_user integer
0 ... 10000
Der Standardwert ist 10.
Ja
cloudsql.pg_authid_select_role string
Nein
commit_delay integer
0 ... 100000
Der Standardwert ist 0.
Nein
commit_siblings integer
0 ... 1000
Der Standardwert ist 5.
Nein
constraint_exclusion enumeration
partition on off
Der Standardwert ist partition.
Nein
cpu_index_tuple_cost float
0.0 ... inf
Der Standardwert ist 0,005.
Nein
cpu_operator_cost float
0.0 ... inf
Der Standardwert ist 0,0025.
Nein
cpu_tuple_cost float
0.0 ... inf
Der Standardwert ist 0,01.
Nein
cron.database_name String.
Unterstützt in PostgreSQL 10 und höher.
Ja
cron.log_statement boolean
on | off
Die Standardeinstellung ist Ein.
Unterstützt in PostgreSQL 10 und höher.
Ja
cron.log_run boolean
on | off
Die Standardeinstellung ist Ein.
Unterstützt in PostgreSQL 10 und höher.
Ja
cron.max_running_jobs Integer
0 ... varies
Der Standardwert ist 5.
Unterstützt in PostgreSQL 10 und höher.
Ja
cron.log_min_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
Der Standardwert ist warning.
Unterstützt in PostgreSQL 10 und höher.
Nein
cursor_tuple_fraction float
0.0 ... 1.0
Der Standardwert ist 0,1.
Nein
deadlock_timeout integer
1 ... 2147483647 ms
Der Standardwert ist 1000 ms.
Nein
default_statistics_target integer
1 ... 10000
Der Standardwert ist 100.
Nein
default_tablespace string Nein
default_transaction_deferrable boolean
on | off
Der Standardwert ist Aus.
Nein
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
Der Standardwert ist 'read committed'.
Nein
effective_cache_size integer
Der Größenbereich liegt zwischen 10 % und 70 % des Arbeitsspeichers der Instanz.
Einheit ist 8 KB.
Der Standardwert beträgt 40 % des VM-Arbeitsspeichers. Bei einem Instanzspeicher mit 45 GB ist der Standardwert beispielsweise 18537160 KB.
Nein
effective_io_concurrency integer
0 ... 1000
Der Standardwert ist 1.
Nein
enable_bitmapscan boolean
on | off
Der Standardwert ist Ein.
Nein
enable_hashagg boolean
on | off
Der Standardwert ist Ein.
Nein
enable_hashjoin boolean
on | off
Der Standardwert ist Ein.
Nein
enable_indexonlyscan boolean
on | off
Der Standardwert ist Ein.
Nein
enable_indexscan boolean
on | off
Der Standardwert ist Ein.
Nein
enable_material boolean
on | off
Der Standardwert ist Ein.
Nein
enable_mergejoin boolean
on | off
Der Standardwert ist Ein.
Nein
enable_nestloop boolean
on | off
Der Standardwert ist Ein.
Nein
enable_seqscan boolean
on | off
Der Standardwert ist Ein.
Nein
enable_sort boolean
on | off
Der Standardwert ist Ein.
Nein
enable_tidscan boolean
on | off
Der Standardwert ist Ein.
Nein
force_parallel_mode enumeration
off | on | regress
Der Standardwert ist Aus.
Nein
from_collapse_limit integer
1 ... 2147483647
Der Standardwert ist 8.
Nein
geqo boolean
on | off
Der Standardwert ist Ein.
Nein
geqo_effort integer
1 ... 10
Der Standardwert ist 5.
Nein
geqo_generations integer
0 ... 2147483647
Der Standardwert ist 0.
Nein
geqo_pool_size integer
0 ... 2147483647
Der Standardwert ist 0.
Nein
geqo_seed float
0.0 ... 1.0
Der Standardwert ist 0.
Nein
geqo_selection_bias float
1.5 ... 2.0
Der Standardwert ist 2.
Nein
geqo_threshold integer
2 ... 2147483647
Der Standardwert ist 12.
Nein
gin_fuzzy_search_limit integer
0 ... 2147483647
Der Standardwert ist 0.
Nein
gin_pending_list_limit integer
64 ... 2147483647 KB
Der Standardwert ist 4096 KB.
Nein
hash_mem_multiplier float
1 ... 1000
Der Standardwert ist 2.
Nein
hot_standby_feedback boolean
on | off
Der Standardwert ist Aus.
Nein
huge_pages enumeration
try off
Der Standardwert ist try.
Ja
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
Der Standardwert ist 0.
Nein
ivfflat.probes integer
1 ... varies
Der Standardwert ist 1.
Unterstützt in PostgreSQL 11 und höher.
Nein
join_collapse_limit integer
1 ... 2147483647
Der Standardwert ist 8.
Nein
lock_timeout integer
0 ... 2147483647 ms
Der Standardwert ist 0.
Nein
log_autovacuum_min_duration integer
0 ... 2147483647 ms oder -1 zur Deaktivierung
Der Standardwert ist 0.
Nein
log_checkpoints boolean
on | off
Der Standardwert ist Aus.
Nein
log_connections boolean
on | off
Der Standardwert ist Aus.
Nein
log_disconnections boolean
on | off
Der Standardwert ist Aus.
Nein
log_duration boolean
on | off
Der Standardwert ist Aus.
Nein
log_error_verbosity enumeration
terse default verbose
Der Standardwert ist default.
Nein
log_executor_stats boolean
on | off
Der Standardwert ist Aus.
Nein
log_hostname boolean
on | off
Der Standardwert ist Aus.
Nein
log_line_prefix String
Ein String im printf-Stil, der am Anfang jeder Zeile einer Logdatei generiert wird.
Der Standardwert ist %m [%p]: [%l-1] db=%d,user=%u, der Zeitstempel, Prozess-ID, Datenbank und Nutzername protokolliert.
Nein
log_lock_waits boolean
on | off
Der Standardwert ist Aus.
Nein
log_min_duration_statement integer
-1 ... 2147483647 ms
Der Standardwert ist -1.
Nein
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Der Standardwert ist error.
Nein
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Der Standardwert ist warning.
Nein
log_parser_stats boolean
on | off
Der Standardwert ist Aus.
Nein
log_planner_stats boolean
on | off
Der Standardwert ist Aus.
Nein
log_replication_commands boolean
on | off
Der Standardwert ist Aus.
Nein
log_statement enumeration
none | ddl | mod | all
Wird auf mod gesetzt, um alle DDL-Anweisungen (Data Definition Language, Datendefinitionssprache) zu protokollieren, sowie Datenänderungsanweisungen wie INSERT, UPDATE, DELETE, TRUNCATE
Der Standardwert ist none.
Nein
log_statement_stats boolean
on | off
Kann möglicherweise nicht zusammen mit log_parser_stats, log_planner_stats oder log_executor_stats aktiviert werden.
Der Standardwert ist Aus.
Nein
log_temp_files integer
0 ... 2147483647 KB, oder -1 zur Deaktivierung
Der Standardwert ist 0.
Nein
log_timezone string
Mit diesem Flag können Nutzer von Cloud SQL for PostgreSQL die Zeitzone für Zeitstempel festlegen, die in das Serverlog geschrieben werden.

Zeitzonen werden mit dem Namen angegeben. Beispielsweise ist Europe/London der Zeitzonenname für London.

Sie müssen dieses Flag manuell in der primären Instanz und bei allen Lesereplikaten aktualisieren, damit es berücksichtigt wird.

Bei Zeitzonennamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können den Zeitzonennamen in jedem Fall angeben.

Wir unterstützen UTC+X als gültiges Format für dieses Flag, wobei X den Wert +/-HH:MM hat.

Ja
logical_decoding_work_mem integer
64 ... 2147483647
Der Standardwert ist 65536.
Nein
maintenance_io_concurrency integer
0 ... 1000
Der Standardwert ist 10.
Nein
maintenance_work_mem integer
1024 ... 2147483647 KB
Der Standardwert ist 64 MB.
Nein
max_connections integer
14 ... varies (see note)
Der Standardwert hängt von der Größe des Arbeitsspeichers der größten Instanz in der Kette der Primärinstanzen ab (diese Instanz; und, wenn es sich um ein Lesereplikat handelt, ihre Primärinstanz, die Primärinstanz ihrer Primärinstanz usw. bis hin zum Stammverzeichnis des Replikationsbaums).
Arbeitsspeicher (GB) auf der größten InstanzStandardwert
Winzig (~0,5)25
Klein (~1,7)50
von 3,75 bis < 6100
von 6 bis < 7,5200
von 7,5 bis < 15400
von 15 bis < 30500
von 30 bis < 60600
von 60 bis < 120800
>=1201.000

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt. Solche Änderungen am Primärreplikat führen zum Neustart des Replikats.

Ja
max_locks_per_transaction integer
10 ... 2,147,483,647
Der Standardwert ist 64.

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt. Solche Änderungen am Primärreplikat führen zum Neustart des Replikats.

Ja
max_logical_replication_workers integer
4 ... 8192
Die Standardeinstellung ist 4.
Unterstützt in PostgreSQL 10 und höher.
Ja
max_parallel_maintenance_workers integer
0 ... varies
Der Standardwert ist 2.
Unterstützt in PostgreSQL 11 und höher.

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt.

Wenn der Wert auf der primären Instanz default ist, kann der Wert für die Replikate nicht geändert werden. Um den Wert für die Replikate zu ändern, legen Sie zuerst den Wert für das primäre Element auf eine Ganzzahl fest.

Nein
max_parallel_workers integer
0 ... varies
Der Standardwert ist 8.
Unterstützt in PostgreSQL 10 und höher.

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt.

Wenn der Wert auf der primären Instanz default ist, kann der Wert für die Replikate nicht geändert werden. Um den Wert für die Replikate zu ändern, legen Sie zuerst den Wert für das primäre Element auf eine Ganzzahl fest.

Nein
max_parallel_workers_per_gather integer
0 ... varies
Der Standardwert ist 2.

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt.

Wenn der Wert auf der primären Instanz default ist, kann der Wert für die Replikate nicht geändert werden. Um den Wert für die Replikate zu ändern, legen Sie zuerst den Wert für das primäre Element auf eine Ganzzahl fest.

Nein
max_pred_locks_per_page integer
0 ... 2147483647
Der Standardwert ist 2.
Unterstützt in PostgreSQL 10 und höher.
Ja
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
Die Standardeinstellung ist -2.
Unterstützt in PostgreSQL 10 und höher.
Ja
max_pred_locks_per_transaction integer
64 ... 1048576
Ja
max_prepared_transactions integer
0 ... varies
Speichergröße (MB)Maximalwert
0 - 3,84030.000
3,840 - 7,68085.000
7,680 - 15,360200.000
15,360 und mehr262.000

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt. Solche Änderungen am Primärreplikat führen zum Neustart des Replikats.

Ja
max_replication_slots integer
10 ... varies
Der Standardwert ist 10.
Ja
max_standby_archive_delay integer
0 ... 2147483647 ms, oder -1 für unbegrenztes Warten
Nein
max_standby_streaming_delay integer
0 ... 2147483647  ms, oder -1 für unbegrenztes Warten
Nein
max_sync_workers_per_subscription integer
2 ... 64
Darf nicht größer als max_logical_replication_workers sein.
Nein
max_wal_senders integer
10 ... varies
Der Standardwert ist 10.

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt. Solche Änderungen am Primärreplikat führen zum Neustart des Replikats.

Ja
max_wal_size integer
2 ... 2147483647

Die Einheit ist 16 MB (die WAL-Dateigröße) für Version 9.6 und 1 MB für PostgreSQL 10 und höher.

Der Standardwert ist 1504 MB, wenn der Instanzspeicher größer oder gleich 3.75 GB ist. Der Standardwert ist 1 GB, wenn der Instanzspeicher kleiner als 3.75 GB ist.

Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für Cloud SQL for PostgreSQL-Instanzen.
Nein
max_worker_processes integer
8 ... varies

Der Wert für Replikate muss größer oder gleich dem Wert für das Primärreplikat sein. Änderungen am Primärreplikat werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert für das Primärreplikat ist oder für die der Standardwert gilt. Solche Änderungen am Primärreplikat führen zum Neustart des Replikats.

Ja
min_parallel_relation_size integer
0 ... 715827882
Die Einheit ist 8 KB
Unterstützt nur in PostgreSQL 9.6.
Nein
min_wal_size integer
32 ... 2147483647

Die Einheit ist 16 MB (die WAL-Dateigröße) für Version 9.6 und 1 MB für PostgreSQL 10 und höher.

Nein
old_snapshot_threshold integer
0 ... 86400 Min. oder -1 zur Deaktivierung
Der Standardwert ist -1.
Ja
parallel_setup_cost float
0.0 ... inf
Der Standardwert ist 1000.
Nein
parallel_tuple_cost float
0.0 ... inf
Der Standardwert ist 0,1.
Nein
password_encryption enumeration
md5 | scram-sha-256

Die Standardeinstellung hängt von der PostgreSQL-Version ab. Bei PostgreSQL-Versionen 10 bis 13 ist der Standardwert md5. Ab PostgreSQL 14 ist die Standardeinstellung scram-sha-256.

Nein
pg_bigm.enable_recheck boolean
on | off
Nein
pg_bigm.gin_key_limit integer
0 ... 2147483647
Nein
pg_bigm.similarity_limit float
0.0 ... 1.0
Nein
pg_hint_plan.enable_hint boolean
on | off
Der Standardwert ist Ein.
Nein
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
Der Standardwert ist Aus.
Nein
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
Der Standardwert ist info.
Nein
pg_hint_plan.message_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
Der Standardwert ist log.
Nein
pg_hint_plan.enable_hint_table boolean
on | off
Der Standardwert ist Aus.
Nein
pglogical.batch_inserts boolean
on | off
Der Standardwert ist off.
Ja
pglogical.conflict_log_level String
Der Standardwert ist LOG.
Dieses Flag akzeptiert dieselben Werte wie log_min_messages.
Nein
pglogical.conflict_resolution String
error|apply_remote|keep_local|last_update_wins|first_update_wins Der Standardwert ist apply_remote.
Nein
pglogical.extra_connection_options String
Akzeptiert PostgreSQL-Keyword/Wert-Verbindungsstrings.
Die Standardeinstellung ist der leerer String.
Nein
pglogical.synchronous_commit boolean
on | off
Der Standardwert ist on.
Ja
pglogical.use_spi boolean
on | off
Der Standardwert ist off.
Ja
pg_stat_statements.max integer
100 ... 2147483647
Der Standardwert ist 5000.
Ja
pg_stat_statements.save boolean
on | off
Der Standardwert ist Ein.
Nein
pg_stat_statements.track enumeration
none | top | all
Der Standardwert ist top.
Nein
pg_stat_statements.track_utility boolean
on | off
Der Standardwert ist Ein.
Nein
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

Sie können mehrere Klassen mithilfe einer durch Kommas getrennten Liste angeben und eine Klasse abziehen, wenn Sie ihr ein --Zeichen voranstellen. Die Standardeinstellung ist none.

Nein
pgaudit.log_catalog boolean
on | off
Der Standardwert ist on.
Nein
pgaudit.log_client boolean
on | off
Der Standardwert ist off.
Nein
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log
Der Standardwert ist log. Außerdem ist pgaudit.log_level nur aktiviert, wenn pgaudit.log_client aktiviert ist.
Nein
pgaudit.log_parameter boolean
on | off
Der Standardwert ist off.
Nein
pgaudit.log_relation boolean
on | off
Der Standardwert ist off.
Nein
pgaudit.log_statement_once boolean
on | off
Der Standardwert ist off.
Nein
pgaudit.role string
Es gibt keinen Standardwert.
Nein
pgtt.enabled boolean
on | off
Der Standardwert ist Ein.
Nein
pg_wait_sampling.history_period integer
1 ... 2147483647
Nein
pg_wait_sampling.history_size integer
1 ... 2147483647
Nein
pg_wait_sampling.profile_period integer
1 ... 2147483647
Nein
pg_wait_sampling.profile_pid boolean
on | off
Nein
pg_wait_sampling.profile_queries boolean
on | off
Nein
random_page_cost float
0.0 ... inf
Der Standardwert ist 4.
Nein
rdkit.agent_FP_bit_ratio float
0 ... 3
Nein
rdkit.avalon_fp_size integer
64 ... 9192
Nein
rdkit.dice_threshold float
0 ... 1
Nein
rdkit.difference_FP_weight_agents integer
-10 ... 10
Nein
rdkit.difference_FP_weight_nonagents integer
1 ... 20
Nein
rdkit.do_chiral_sss boolean
on | off
Nein
rdkit.do_enhanced_stereo_sss boolean
on | off
Nein
rdkit.featmorgan_fp_size integer
64 ... 9192
Nein
rdkit.hashed_atompair_fp_size integer
64 ... 9192
Nein
rdkit.hashed_torsion_fp_size integer
64 ... 9192
Nein
rdkit.ignore_reaction_agents boolean
on | off
Nein
rdkit.init_reaction boolean
on | off
Nein
rdkit.layered_fp_size integer
64 ... 9192
Nein
rdkit.morgan_fp_size integer
64 ... 9192
Nein
rdkit.move_unmmapped_reactants_to_agents boolean
on | off
Nein
rdkit.rdkit_fp_size integer
64 ... 9192
Nein
rdkit.reaction_difference_fp_size integer
64 ... 9192
Nein
rdkit.reaction_difference_fp_type integer
1 ... 3
Nein
rdkit.reaction_sss_fp_size integer
64 ... 9192
Nein
rdkit.reaction_sss_fp_type integer
1 ... 5
Nein
rdkit.sss_fp_size integer
64 ... 4096
Nein
rdkit.tanimoto_threshold float
0 ... 1
Nein
rdkit.threshold_unmapped_reactant_atoms float
0 ... 1
Nein
replacement_sort_tuples integer
0 ... 2147483647
Nein
session_replication_role enumeration
origin | replica | local
Kann nur in der aktuellen Sitzung festgelegt werden
-
shared_buffers integer
Der Größenbereich liegt zwischen 10 % und 70 % des Arbeitsspeichers der Instanz.
Einheit ist 8 KB.
Die Standardeinstellung beträgt ein Drittel des VM-Arbeitsspeichers der Instanz (in MB). Für 45 an Instanzspeicher ist der Standardwert beispielsweise 15085 MB.
Ja
squeeze.max_xlock_time integer
1 ... 2147483647
Nein
squeeze.worker_autostart string
Nein
squeeze.worker_role string
Nein
ssl_max_protocol_version enumeration
Postgres 14: Legt die höchste zu verwendende SSL/TLS-Protokollversion fest. Gültige Werte sind wie für ssl_min_protocol_version, wobei ein leerer String eingefügt wird, der die Angabe einer beliebigen Protokollversion ermöglicht.
Unterstützt in PostgreSQL 12 und höher.
Nein
ssl_min_protocol_version enumeration
Postgres 14: Legt die minimale SSL/TLS-Protokollversion fest, die verwendet werden soll. Gültige Werte: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.
Der Standardwert ist TLSv1.
Unterstützt in PostgreSQL 12 und höher.
Nein
standard_conforming_strings boolean
on | off
Der Standardwert ist Ein.
Nein
synchronize_seqscans boolean
on | off
Der Standardwert ist Ein.
Nein
tcp_keepalives_count integer
0 ... 2147483647
Der Standardwert ist 5.
Nein
tcp_keepalives_idle integer
0 ... 2147483647
Der Standardwert ist 60.
Nein
tcp_keepalives_interval integer
0 ... 2147483647
Der Standardwert ist 60.
Nein
temp_buffers integer
100 ... 1,073,741,823
Einheit ist 8 KB
Nein
temp_file_limit integer
1048576 ... 2147483647 KB
Der Standardwert beträgt 10 % der ursprünglichen Laufwerkgröße. Bei einem Laufwerk mit 100 GB ist der Standardwert beispielsweise 10262623 KB.
Nein
TimeZone string
Mit diesem Flag können Nutzer von Cloud SQL for PostgreSQL die Zeitzone zum Anzeigen und Analysieren von Zeitstempeln festlegen.

Zeitzonen werden mit dem Namen angegeben. Beispielsweise ist Europe/London der Zeitzonenname für London.

Sie müssen dieses Flag manuell in der primären Instanz und bei allen Lesereplikaten aktualisieren, damit es berücksichtigt wird.

Bei Zeitzonennamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können den Zeitzonennamen in jedem Fall angeben.

Wir unterstützen UTC+X als gültiges Format für dieses Flag, wobei X den Wert +/-HH hat.

Ja
trace_notify boolean
on | off
Der Standardwert ist Aus.
Nein
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
Der Standardwert ist log.
Nein
trace_sort boolean
on | off
Der Standardwert ist Aus.
Nein
track_activities boolean
on | off
Der Standardwert ist Ein.
Nein
track_activity_query_size integer
100 ... 102400
Der Standardwert ist 1 KB.
Ja
track_commit_timestamp boolean
on | off
Der Standardwert ist Aus.
Ja
track_counts boolean
on | off
Der Standardwert ist Ein.
Nein
track_functions enumeration
none | pl | all
Der Standardwert ist none.
Nein
track_io_timing boolean
on | off
Der Standardwert ist Aus.
Nein
vacuum_cost_delay integer
0 ... 100 ms
Der Standardwert ist 0.
Nein
vacuum_cost_limit integer
1 ... 10000
Der Standardwert ist 200.
Nein
vacuum_failsafe_age integer
0 ... 2100000000
Der Standardwert ist 1600000000.
Nein
vacuum_freeze_min_age integer
0 ... 1000000000
Der Standardwert ist 50000000.
Nein
vacuum_freeze_table_age integer
0 ... 2000000000
Der Standardwert ist 150000000.
Nein
vacuum_multixact_failsafe_age integer
0 ... 2100000000
Der Standardwert ist 1600000000.
Nein
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
Der Standardwert ist 5000000.
Nein
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
Der Standardwert ist 150000000.
Nein
wal_buffers integer
Der Größenbereich liegt zwischen 10 % und 70 % des Arbeitsspeichers der Instanz.
Einheit ist 8 KB.
The default is 16 MB.
Ja
wal_compression enumeration
off | on | pglz | lz4 | zstd
Der Standardwert ist Aus.
Nein
wal_receiver_timeout integer
0 ... 2147483647
Der Standardwert beträgt 60 Sekunden.

Dieses Flag wirkt sich auf den WAL-Sender und -Empfänger aus. Wenn dieses Flag nicht korrekt festgelegt ist, wirkt sich das Flag auf die logische und physische Replikation aus. Dieses Flag wirkt sich auch auf die Replikationsleistung und die Latenz aus. Ein Wert von null deaktiviert das Zeitlimitverfahren. Die Einheit ist Millisekunden.

Nein
wal_sender_timeout integer
0 ... 2147483647
Der Standardwert beträgt 60 Sekunden.

Dieses Flag wirkt sich auf den WAL-Sender und -Empfänger aus. Wenn dieses Flag nicht korrekt festgelegt ist, wirkt sich das Flag auf die logische und physische Replikation aus. Dieses Flag wirkt sich auch auf die Replikationsleistung und die Latenz aus. Ein Wert von null deaktiviert das Zeitlimitverfahren. Die Einheit ist Millisekunden.

Nein
work_mem integer
64 ... 2147483647 KB
Der Standardwert ist 4 MB.
Nein

Spezielle Flags

bgwriter

PostgreSQL hat ein Flag für einen Hintergrundautor (bgwriter). Dieses Flag gibt Schreibvorgänge für neue oder geänderte freigegebene Zwischenspeicher aus. Diese freigegebenen Zwischenspeicher werden als „dirty buffers” bezeichnet. Wenn die Anzahl der bereinigten freigegebenen Puffer nicht ausreicht, schreibt der Hintergrundautor schmutzige Puffer in das Dateisystem und markiert sie als sauber.

Zwei Flags, die mit dem Flag bgwriter verknüpft sind, sind bgwriter_delay und bgwriter_lru_maxpages. bgwriter_delay gibt die Verzögerung zwischen den Aktivitätsrunden für den Hintergrundautor in Millisekunden (ms) an und bgwriter_lru_maxpages gibt an, wie viele Puffer vom Hintergrundautor geschrieben werden.

Der Standardwert für das Flag bgwriter ist 200 ms. Wenn Sie jedoch ein Solid State Drive (SSD) auswählen, das größer als 500 GB ist, wird der Wert des Flags bgwriter_delay auf 50 und der Wert des Flags bgwriter_lru_maxpages auf 200 gesetzt.

Weitere Informationen zum Hintergrundautor finden Sie in der PostgreSQL-Dokumentation.

session_replication_role

PostgreSQL hat das Flag session_replication_role, das für die logische Replikation verwendet wird und Einschränkungstrigger in einzelnen Sitzungen deaktivieren kann.

Manchmal kann dieses Flag auch für Wartungsvorgänge verwendet werden, um Einschränkungen (meist Fremdschlüssel) zu umgehen.

Dieses Flag kann in einer Sitzung von Nutzern festgelegt werden, für die das REPLICATION-Attribut gesetzt wurde. Das REPLICATION-Attribut kann für Nutzer durch cloudsqlsuperuser festgelegt werden, wenn eines der Flags cloudsql.enable_pglogical oder cloudsql.logical_decoding für die Instanz gesetzt wurde.

Dieses Flag kann nicht für die gesamte Instanz gesetzt werden.

Fehlerbehebung

Problem Fehlerbehebung
Sie legen die Zeitzone für eine Sitzung fest, die aber beim Abmelden abläuft.

Stellen Sie eine Verbindung zur Datenbank her und legen Sie die Datenbankzeitzone auf die gewünschte Zeitzone pro Nutzer oder Datenbank fest.

In Cloud SQL for PostgreSQL können Sie Folgendes angeben: Diese Einstellungen bleiben nach dem Schließen einer Sitzung erhalten. Dadurch wird eine .conf-Konfiguration imitiert:


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

Diese Einstellungen gelten nur für neue Verbindungen zur Datenbank. Wenn Sie die Änderung der Zeitzone sehen möchten, trennen Sie die Verbindung zur Instanz und stellen Sie dann die Verbindung wieder her.

Nächste Schritte