Datenbank-Flags 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.

Datenbank-Flags konfigurieren

Wert für Datenbank-Flag festlegen

Console

  1. Erstellen Sie in der Google Cloud Console ein neues Cloud Console-Projekt oder rufen Sie ein vorhandenes Projekt durch Auswahl des Projektnamens auf.
  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.

REST v1beta4

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

Ersetzen Sie diese Werte in den folgenden Anweisungen:

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

HTTP-Methode und URL:

PATCH https://www.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 Standardwert zurücksetzen

Console

  1. Erstellen Sie in der Google Cloud Console ein neues Cloud Console-Projekt oder rufen Sie ein vorhandenes Projekt durch Auswahl des Projektnamens auf.
  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 v1beta4

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

Ersetzen Sie diese Werte in den folgenden Anweisungen:

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

HTTP-Methode und URL:

PATCH https://www.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. Erstellen Sie in der Google Cloud Console ein neues Cloud Console-Projekt oder rufen Sie ein vorhandenes Projekt durch Auswahl des Projektnamens auf.
  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 v1beta4

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

Ersetzen Sie diese Werte in den folgenden Anweisungen:

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

HTTP-Methode und URL:

GET https://www.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 in etwa folgende JSON-Antwort erhalten:

Suchen Sie in der Ausgabe nach dem Feld databaseFlags.

Unterstützte Flags

Für ein bestimmtes Flag unterstützt Cloud SQL eventuell einen anderen Wertebereich 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?
In der Betaphase?
autovacuum boolean
on off
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für PostgreSQL-Instanzen.

Nein Nein
autovacuum_analyze_scale_factor float
0 ... 100
Nein Nein
autovacuum_analyze_threshold integer
0 ... 2147483647
Nein Nein
autovacuum_freeze_max_age integer
100000 ... 2000000000
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für PostgreSQL-Instanzen

Ja Nein
autovacuum_max_workers integer
1 ... varies (see note)

Ja Nein
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für PostgreSQL-Instanzen

Ja Nein
autovacuum_naptime integer
1 ... 2147483 s
Nein Nein
autovacuum_vacuum_cost_delay integer
0 ... 100 ms, oder -1 zur Verwendung des Werts von vacuum_cost_delay
Nein Nein
autovacuum_vacuum_cost_limit integer
0 ... 10000, oder -1 zur Verwendung des Werts von vacuum_cost_limit
Nein Nein
autovacuum_vacuum_scale_factor float
0 ... 100
Nein Nein
autovacuum_vacuum_threshold integer
0 ... 2147483647
Nein Nein
autovacuum_work_mem integer
0 ... 2147483647 KB, oder -1 zur Verwendung des Werts von maintenance_work_mem
Nein Nein
checkpoint_completion_target float
0.0 ... 1.0
Nein Nein
checkpoint_timeout integer
30 ... 86,400
Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für PostgreSQL-Instanzen

Nein Nein
checkpoint_warning integer
0 ... 2147483647 s
Nein Nein
cloudsql.enable_pgaudit boolean
on | off
Ja Nein
cloudsql.iam_authentication boolean
on | off
Standardeinstellung: off
Ja Nein
commit_delay integer
0 ... 100000
Nein Nein
commit_siblings integer
0 ... 1000
Nein Nein
constraint_exclusion enumeration
partition | on | off
Nein Nein
cpu_index_tuple_cost float
0.0 ... inf
Nein Nein
cpu_operator_cost float
0.0 ... inf
Nein Nein
cpu_tuple_cost float
0.0 ... inf
Nein Nein
cursor_tuple_fraction float
0.0 ... 1.0
Nein Nein
deadlock_timeout integer
1 ... 2147483647 ms
Nein Nein
default_statistics_target integer
1 ... 10000
Nein Nein
default_tablespace string Nein Nein
default_transaction_deferrable boolean
on | off
Nein Nein
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
Nein Nein
effective_cache_size integer
Der Größenbereich liegt zwischen 10 % und 70 % des Arbeitsspeichers der Instanz.
Einheit ist 8 KB
Nein Nein
enable_bitmapscan boolean
on | off
Nein Nein
enable_hashagg boolean
on | off
Nein Nein
enable_hashjoin boolean
on | off
Nein Nein
enable_indexonlyscan boolean
on | off
Nein Nein
enable_indexscan boolean
on | off
Nein Nein
enable_material boolean
on | off
Nein Nein
enable_mergejoin boolean
on | off
Nein Nein
enable_nestloop boolean
on | off
Nein Nein
enable_seqscan boolean
on | off
Nein Nein
enable_sort boolean
on | off
Nein Nein
enable_tidscan boolean
on | off
Nein Nein
force_parallel_mode enumeration
off | on | regress
Nein Nein
from_collapse_limit integer
1 ... 2147483647
Nein Nein
geqo boolean
on | off
Nein Nein
geqo_effort integer
1 ... 10
Nein Nein
geqo_generations integer
0 ... 2147483647
Nein Nein
geqo_pool_size integer
0 ... 2147483647
Nein Nein
geqo_seed float
0.0 ... 1.0
Nein Nein
geqo_selection_bias float
1.5 ... 2.0
Nein Nein
geqo_threshold integer
2 ... 2147483647
Nein Nein
gin_fuzzy_search_limit integer
0 ... 2147483647
Nein Nein
gin_pending_list_limit integer
64 ... 2147483647 KB
Nein Nein
hot_standby_feedback boolean
on | off
Nein Nein
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
Nein Nein
join_collapse_limit integer
1 ... 2147483647
Nein Nein
lock_timeout integer
0 ... 2147483647 ms
Nein Nein
log_autovacuum_min_duration integer
0 ... 2147483647 ms, oder -1 zur Deaktivierung
Nein Nein
log_checkpoints boolean
on | off
Nein Nein
log_connections boolean
on | off
Nein Nein
log_disconnections boolean
on | off
Nein Nein
log_duration boolean
on | off
Nein Nein
log_error_verbosity enumeration
terse | default | verbose
Nein Nein
log_executor_stats boolean
on | off
Nein Nein
log_hostname boolean
on | off
Nein Nein
log_lock_waits boolean
on | off
Nein Nein
log_min_duration_statement integer
-1 ... 2147483647 ms
Nein Nein
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Nein Nein
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Nein Nein
log_parser_stats boolean
on | off
Nein Nein
log_planner_stats boolean
on | off
Nein Nein
log_replication_commands boolean
on | off
Nein Nein
log_statement enumeration
none | ddl | mod | all
Auf mod festgelegt, um alle DDL-Anweisungen (Data Definition Language) sowie zusätzlich Anweisungen zu protokollieren, durch die Daten geändert werden, etwa INSERT, UPDATE, DELETE, TRUNCATE
Nein 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.
Nein Nein
log_temp_files integer
0 ... 2147483647 KB, oder -1 zur Deaktivierung
Nein Nein
maintenance_work_mem integer
1024 ... 2147483647 KB
Nein Nein
max_connections integer
14 ... varies (see note)
Speichergröße (MB)Standardwert
0 - 1,70025
1,700 - 3,75050
3,750 - 6,000100
6,000 - 7,500200
7,500 - 15,000400
15,000 - 30,000500
30,000 - 60,000600
60,000 - 120,000800
120,00 und mehr1.000

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 der Replikate muss größer oder gleich dem Wert des Primären sein. Änderungen am Primären werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert des Primären ist oder der nicht vom Standardwert geändert wurde.

Ja Nein
max_locks_per_transaction integer
10 ... 2,147,483,647

Der Wert der Replikate muss größer oder gleich dem Wert des Primären sein. Änderungen am Primären werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert des Primären ist oder der nicht vom Standardwert geändert wurde.

Ja Nein
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 der Replikate muss größer oder gleich dem Wert des Primären sein. Änderungen am Primären werden an Replikate weitergegeben, deren Wert niedriger als der neue Wert des Primären ist oder der nicht vom Standardwert geändert wurde.

Ja Nein
max_standby_archive_delay integer
0 ... 2147483647 ms, oder -1 für unbegrenztes Warten
Nein Nein
max_standby_streaming_delay integer
0 ... 2147483647  ms, oder -1 für unbegrenztes Warten
Nein Nein
max_wal_size integer
32 ... 2,147,483,647

Die Einheit ist 1 MB für Postgres 10, 11, 12 und 13. Die Einheit ist 16 MB (die WAL-Dateigröße) für Version 9.6.

Nutzungsinformationen, die sich auf das SLA auswirken können, finden Sie unter Betriebsrichtlinien für PostgreSQL-Instanzen.

Nein Nein
min_parallel_relation_size integer
0 ... 715827882
Einheit ist 8 KB
Nein Nein
old_snapshot_threshold integer
0, oder ... 86400 min, oder -1 zur Deaktivierung
Ja Nein
parallel_setup_cost float
0.0 ... inf
Nein Nein
parallel_tuple_cost float
0.0 ... inf
Nein Nein
password_encryption enumeration
md5 | scram-sha-256

Postgres 10, 11, 12 und 13.

Standardwert ist md5.

Nein Nein
pg_stat_statements.max integer
100 ... 2147483647
Ja Nein
pg_stat_statements.save boolean
on | off
Nein Nein
pg_stat_statements.track enumeration
none | top | all
Nein Nein
pg_stat_statements.track_utility boolean
on | off
Nein 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 Nein
pgaudit.log_catalog boolean
on | off

Die Standardeinstellung ist on.

Nein Nein
pgaudit.log_client boolean
on | off

Die Standardeinstellung ist off.

Nein Nein
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log

Die Standardeinstellung ist log. Außerdem ist pgaudit.log_level nur aktiviert, wenn pgaudit.log_client aktiviert ist.

Nein Nein
pgaudit.log_parameter boolean
on | off

Die Standardeinstellung ist off.

Nein Nein
pgaudit.log_relation boolean
on | off

Die Standardeinstellung ist off.

Nein Nein
pgaudit.log_statement_once boolean
on | off

Die Standardeinstellung ist off.

Nein Nein
pgaudit.role string

Es gibt keine Standardeinstellung.

Nein Nein
random_page_cost float
0.0 ... inf
Nein Nein
replacement_sort_tuples integer
0 ... 2147483647
Nein Nein
ssl_max_protocol_version enumeration
Postgres 12: 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.
Nein Nein
ssl_min_protocol_version enumeration
Postgres 12: 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.

Nein Nein
standard_conforming_strings boolean
on | off
Nein Nein
synchronize_seqscans boolean
on | off
Nein Nein
temp_buffers integer
100 ... 1,073,741,823
Einheit ist 8 KB
Nein Nein
temp_file_limit integer
1048576 ... 2147483647 KB
Nein Nein
trace_notify boolean
on | off
Nein Nein
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
Nein Nein
trace_sort boolean
on | off
Nein Nein
track_activities boolean
on | off
Nein Nein
track_activity_query_size integer
100 ... 102400
Ja Nein
track_commit_timestamp boolean
on | off
Ja Nein
track_counts boolean
on | off
Nein Nein
track_functions enumeration
none | pl | all
Nein Nein
track_io_timing boolean
on | off
Nein Nein
vacuum_cost_delay integer
0 ... 100 ms
Nein Nein
vacuum_cost_limit integer
1 ... 10000
Nein Nein
vacuum_freeze_min_age integer
0 ... 1000000000
Nein Nein
vacuum_freeze_table_age integer
0 ... 2000000000
Nein Nein
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
Nein Nein
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
Nein Nein
work_mem integer
64 ... 2147483647 KB
Nein Nein

Fehlerbehebung

Klicken Sie auf die Links in der Tabelle, um weitere Informationen zu erhalten:

Problem Mögliche Ursache Lösungsvorschlag
Es ist kein Flag zur Festlegung der Zeitzone vorhanden. Zeitzonen-Flags werden nicht unterstützt. Es sind einige Problemumgehungen vorhanden.

Es ist kein Flag zur Festlegung der Zeitzone vorhanden

PostgreSQL und SQL Server for Cloud SQL unterstützen kein Zeitzonen-Flag, um die Zeitzone an die Anforderungen von Nutzern anzupassen.

Mögliche Ursache

Zeitzonen-Flags werden nicht unterstützt.

Lösungsvorschlag

Sie können die Zeitzone pro Sitzung festlegen. Diese läuft aber ab, wenn Sie sich abmelden. Eine bessere Lösung besteht darin, eine Verbindung zur Datenbank herzustellen und als Datenbankzeitzone die gewünschte Zeitzone pro Nutzer oder Datenbank festzulegen:

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

Diese Einstellungen bleiben auch nach dem Schließen der Sitzung erhalten. Dadurch wird die .conf-Konfiguration imitiert.

Nächste Schritte