Configurazione dei flag di database

Questa pagina descrive come configurare i flag di database per Cloud SQL e elenca i flag che puoi impostare per l'istanza. Utilizzi i flag di database per molte operazioni, tra cui la modifica dei parametri PostgreSQL, delle opzioni e la configurazione e l'ottimizzazione di un'istanza.

In alcuni casi, l'impostazione di un flag potrebbe richiedere l'impostazione di un altro per attivare completamente la funzionalità desiderata.

Quando imposti, rimuovi o modifichi un flag per un'istanza di database, il database potrebbe essere riavviato. Il valore del flag viene mantenuto per l'istanza finché non lorimuovi. Se l'istanza è l'origine di una replica e viene riavviata, viene riavviata anche la replica in modo da allinearsi alla configurazione corrente dell'istanza.

Configurazione dei flag di database

Imposta un flag di database

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi impostare un flag del database.
  2. Apri l'istanza e fai clic su Modifica.
  3. Scorri verso il basso fino alla sezione Flag.
  4. Per impostare un flag che non è stato impostato in precedenza sull'istanza, fai clic su Aggiungi elemento, scegli il flag dal menu a discesa e imposta il relativo valore.
  5. Fai clic su Salva per salvare le modifiche.
  6. Conferma le modifiche in Flag nella pagina Panoramica.

gcloud

Modifica l'istanza:

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

Questo comando sovrascriverà tutti i flag del database impostati in precedenza. Per conservarli e aggiungerne di nuovi, includi i valori per tutte i flag che vuoi impostare sull'istanza; qualsiasi flag non specificamente incluso impostato sul valore predefinito. Per i flag che non accettano un valore, specifica il nome del flag seguito da un segno di uguale ("=").

Ad esempio, per impostare i flag log_connections e log_min_error_statement, puoi utilizzare il seguente comando:

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

Terraform

Per aggiungere flag di database, utilizza una risorsa 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
}

Applica le modifiche

Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi nelle seguenti sezioni.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi farlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti in Terraform di configurazione del deployment.

Prepara la directory

Ogni file di configurazione Terraform deve avere una directory dedicata (inoltre chiamato modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice di esempio in ogni sezione o passaggio.

    Copia il codice campione nel nuovo oggetto main.tf.

    Facoltativamente, copia il codice da GitHub. Opzione consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init

    Facoltativamente, per utilizzare la versione più recente del provider Google, includi -upgrade :

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o che l'aggiornamento soddisfi le tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo questo comando e inserendo yes alla richiesta:
    terraform apply

    Attendi finché Terraform non visualizzi il messaggio "Applicazione completata!". per creare un nuovo messaggio email.

  3. Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, imposta il file di configurazione Terraform Argomento deletion_protection per false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente inserendo yes alla richiesta:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la tua configurazione Terraform eseguendo questo comando e inserendo yes al prompt:

    terraform destroy

REST v1

Per impostare un flag per un database esistente:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se esistono flag configurati per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

REST v1beta4

Per impostare un flag per un database esistente:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se esistono flag già configurati per il database, modifica la precedente per includerle. Il comando PATCH sovrascrive la versione esistente con quelli specificati nella richiesta.

Cancella i valori predefiniti di tutti i flag

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi cancellare tutti i flag.
  2. Apri l'istanza e fai clic su Modifica.
  3. Apri la sezione Flag di database.
  4. Fai clic sulla X accanto a tutti gli indicatori visualizzati.
  5. Fai clic su Salva per salvare le modifiche.

gcloud

Cancella tutti i flag sui valori predefiniti in un'istanza:

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

Ti viene chiesto di confermare che l'istanza verrà riavviata.

REST v1

Per cancellare tutti i flag per un'istanza esistente:

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

Per cancellare tutti i flag per un'istanza esistente:

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Visualizza i valori attuali dei flag di database

Per visualizzare tutti i valori correnti delle impostazioni PostgreSQL, accedi alla tua istanza con il client psql e inserisci il seguente comando:

 SELECT name, setting FROM pg_settings;

Tieni presente che puoi modificare il valore solo per gli indicatori supportati (elencati di seguito).

Determina quali flag di database sono stati impostati per un'istanza

Per vedere quali flag sono stati impostati per un'istanza Cloud SQL:

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per la quale vuoi visualizzare i flag di database impostati.
  2. Seleziona l'istanza per aprire la pagina Panoramica istanza.

    I flag di database impostati sono elencati nella sezione Flag di database.

gcloud

Ottieni lo stato dell'istanza:

gcloud sql instances describe INSTANCE_NAME

Nell'output, i flag di database sono elencati in settings come la raccolta databaseFlags. Per ulteriori informazioni sulla rappresentazione dei flag nell'output, consulta Rappresentazione delle risorse delle istanze.

REST v1

Per elencare i flag configurati per un'istanza:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Nell'output, cerca il campo databaseFlags.

REST v1beta4

Per elencare i flag configurati per un'istanza:

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • project-id: l'ID progetto
  • instance-id: l'ID istanza

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Nell'output, cerca il campo databaseFlags.

Flag supportati

I flag non menzionati di seguito non sono supportati.

Per un determinato flag, Cloud SQL potrebbe supportare un valore o un intervallo diverso rispetto al parametro o all'opzione PostgreSQL corrispondente.

A | C | D | E | V | G | T | I | J | L | MLN | O | P | R | D | G | V | O

Flag Cloud SQL Tipo
Valori accettabili e note
Riavvia
Obbligatorio?
anon.algorithm String
Il valore predefinito è sha256.
No
anon.maskschema String
Il valore predefinito è mask.
No
anon.restrict_to_trusted_schemas boolean
on | off
L'impostazione predefinita è off.
No
anon.salt String
Non è presente alcun valore predefinito.
No
anon.sourceshema String
Il valore predefinito è public.
No
auto_explain.log_analyze boolean
on | off
Il valore predefinito è off.
No
auto_explain.log_buffers boolean
on | off
L'impostazione predefinita è off.
No
auto_explain.log_min_duration Integer
-1 ... 2147483647
Il valore predefinito è -1.
No
auto_explain.log_format String
text|xml|json|yaml
Il valore predefinito è text.
No
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
Il valore predefinito è log.
Supportato in PostgreSQL 12 e versioni successive.
No
auto_explain.log_nested_statements boolean
on | off
L'impostazione predefinita è off.
No
auto_explain.log_settings boolean
on | off
L'impostazione predefinita è off.
Supportato in PostgreSQL 12 e versioni successive.
No
auto_explain.log_timing boolean
on | off
Il valore predefinito è on.
No
auto_explain.log_triggers boolean
on | off
L'impostazione predefinita è off.
No
auto_explain.log_wal boolean
on | off
L'impostazione predefinita è off.
Supportato in PostgreSQL 13 e versioni successive.
No
auto_explain.log_verbose boolean
on | off
Il valore predefinito è off.
No
auto_explain.sample_rate Float
0 ... 1
Il valore predefinito è 1.
No
autovacuum boolean
on | off
L'impostazione predefinita è on.
Per informazioni sull'utilizzo che potrebbero influire sul contratto di livello del servizio, consulta le linee guida operative per le istanze Cloud SQL per PostgreSQL.
No
autovacuum_analyze_scale_factor float
0 ... 100
Il valore predefinito è 0,1.
No
autovacuum_analyze_threshold integer
0 ... 2147483647
Il valore predefinito è 50.
No
autovacuum_freeze_max_age integer
100000 ... 2000000000
Il valore predefinito è 200000000.
Per informazioni sull'utilizzo che potrebbero influire sul contratto di livello del servizio, consulta le linee guida operative per le istanze Cloud SQL per PostgreSQL.
autovacuum_max_workers integer
1 ... varies (see note)
Il valore predefinito è 3.
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
Il valore predefinito è 400000000.
Per informazioni sull'utilizzo che potrebbero influire sullo SLA, consulta Linee guida operative per le istanze Cloud SQL per PostgreSQL.
autovacuum_naptime integer
1 ... 2147483s
Il valore predefinito è 60 secondi.
No
autovacuum_vacuum_cost_delay integer
0 ... 100 ms o -1 per utilizzare il valore vacuum_cost_delay
Per PostgreSQL 9.6, 10 e 11, il valore predefinito è 2 ms.
No
autovacuum_vacuum_cost_limit integer
0 ... 10000 o -1 per utilizzare il valore vacuum_cost_limit
Il valore predefinito è -1.
No
autovacuum_vacuum_insert_scale_factor float
0 ... 100
Il valore predefinito è 0,2.
No
autovacuum_vacuum_insert_threshold integer
-1 ... 2147483647
Il valore predefinito è 1000.
No
autovacuum_vacuum_scale_factor float
0 ... 100
Il valore predefinito è 0,2.
No
autovacuum_vacuum_threshold integer
0 ... 2147483647
Il valore predefinito è 50.
No
autovacuum_work_mem integer
0 ... 2147483647 KB o -1 per utilizzare il valore maintenance_work_mem
Il valore predefinito è -1.
No
checkpoint_completion_target float
0.0 ... 1.0
Il valore predefinito è 0,9.
No
checkpoint_timeout integer
30 ... 86,400s
Il valore predefinito è 300.
Per informazioni sull'utilizzo che potrebbero influire sul contratto di livello del servizio, consulta le linee guida operative per le istanze Cloud SQL per PostgreSQL.
No
checkpoint_warning integer
0 ... 2147483647s
Il valore predefinito è 30 s.
No
cloudsql.allow_passwordless_local_connections boolean
on | off
Il valore predefinito è off.
No
cloudsql.enable_anon boolean
on | off
Il valore predefinito è off.
No
cloudsql.enable_auto_explain boolean
on | off
Il valore predefinito è off.
cloudsql.enable_maintenance_mode boolean
on | off
Il valore predefinito è off.
cloudsql.enable_pgaudit boolean
on | off
L'impostazione predefinita è off.
cloudsql.enable_pg_bigm boolean
on | off
valore predefinito: off
cloudsql.enable_pg_cron boolean
on | off
Il valore predefinito è off.
Supportato in PostgreSQL 10 e versioni successive.
cloudsql.enable_pg_hint_plan boolean
on | off
Il valore predefinito è off.
cloudsql.enable_pglogical boolean
on | off
Il valore predefinito è off.
cloudsql.enable_pg_squeeze boolean
on | off
Il valore predefinito è off.
cloudsql.enable_pg_wait_sampling boolean
on | off
cloudsql.iam_authentication boolean
on | off
Il valore predefinito è off.
No
cloudsql.logical_decoding boolean
on | off
Il valore predefinito è off.
cloudsql.max_failed_attempts_user integer
0 ... 10000
Il valore predefinito è 10.
cloudsql.pg_authid_select_role string
No
commit_delay integer
0 ... 100000
Il valore predefinito è 0.
No
commit_siblings integer
0 ... 1000
Il valore predefinito è 5.
No
constraint_exclusion enumeration
partition | on | off
Il valore predefinito è partition.
No
cpu_index_tuple_cost float
0.0 ... inf
Il valore predefinito è 0,005.
No
cpu_operator_cost float
0.0 ... inf
Il valore predefinito è 0,0025.
No
cpu_tuple_cost float
0.0 ... inf
Il valore predefinito è 0,01.
No
cron.database_name String.
Supportato in PostgreSQL 10 e versioni successive.
cron.log_statement boolean
on | off
L'impostazione predefinita è on.
Supportato in PostgreSQL 10 e versioni successive.
cron.log_run boolean
on | off
L'impostazione predefinita è on.
Supportato in PostgreSQL 10 e versioni successive.
cron.max_running_jobs Integer
0 ... varies
Il valore predefinito è 5.
Supportato in PostgreSQL 10 e versioni successive.
cron.log_min_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
L'impostazione predefinita è avviso.
Supportato in PostgreSQL 10 e versioni successive.
No
cursor_tuple_fraction float
0.0 ... 1.0
Il valore predefinito è 0,1.
No
deadlock_timeout integer
1 ... 2147483647 ms
Il valore predefinito è 1000 ms.
No
default_statistics_target integer
1 ... 10000
Il valore predefinito è 100.
No
default_tablespace string No
default_transaction_deferrable boolean
on | off
L'impostazione predefinita è off.
No
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
Il valore predefinito è 'read committed'.
No
effective_cache_size integer
L'intervallo di dimensioni va dal 10% al 70% della memoria dell'istanza.
L'unità è 8 kB.
Il valore predefinito è il 40% della memoria della VM. Ad esempio, per un 45 GB di memoria dell'istanza; il valore predefinito è 18537160 kB.
No
effective_io_concurrency integer
0 ... 1000
Il valore predefinito è 1.
No
enable_bitmapscan boolean
on | off
Il valore predefinito è on.
No
enable_hashagg boolean
on | off
Il valore predefinito è on.
No
enable_hashjoin boolean
on | off
L'impostazione predefinita è on.
No
enable_indexonlyscan boolean
on | off
L'impostazione predefinita è on.
No
enable_indexscan boolean
on | off
L'impostazione predefinita è on.
No
enable_material boolean
on | off
Il valore predefinito è on
No
enable_mergejoin boolean
on | off
Il valore predefinito è on.
No
enable_nestloop boolean
on | off
Il valore predefinito è on.
No
enable_seqscan boolean
on | off
Il valore predefinito è on.
No
enable_sort boolean
on | off
L'impostazione predefinita è on.
No
enable_tidscan boolean
on | off
L'impostazione predefinita è on.
No
force_parallel_mode enumeration
off | on | regress
Il valore predefinito è off.
No
from_collapse_limit integer
1 ... 2147483647
Il valore predefinito è 8.
No
geqo boolean
on | off
Il valore predefinito è on.
No
geqo_effort integer
1 ... 10
Il valore predefinito è 5.
No
geqo_generations integer
0 ... 2147483647
Il valore predefinito è 0.
No
geqo_pool_size integer
0 ... 2147483647
Il valore predefinito è 0.
No
geqo_seed float
0.0 ... 1.0
Il valore predefinito è 0.
No
geqo_selection_bias float
1.5 ... 2.0
Il valore predefinito è 2.
No
geqo_threshold integer
2 ... 2147483647
Il valore predefinito è 12.
No
gin_fuzzy_search_limit integer
0 ... 2147483647
Il valore predefinito è 0.
No
gin_pending_list_limit integer
64 ... 2147483647KB
Il valore predefinito è 4096 KB.
No
hash_mem_multiplier float
1 ... 1000
Il valore predefinito è 2.
No
hot_standby_feedback boolean
on | off
L'impostazione predefinita è off.
No
huge_pages enumeration
try | off
Il valore predefinito è try.
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
Il valore predefinito è 0.
No
ivfflat.probes integer
1 ... varies
Il valore predefinito è 1.
Supportato in PostgreSQL 11 e versioni successive.
No
join_collapse_limit integer
1 ... 2147483647
Il valore predefinito è 8.
No
lock_timeout integer
0 ... 2147483647 ms
Il valore predefinito è 0.
No
log_autovacuum_min_duration integer
0 ... 2147483647 ms oppure -1 per disattivare
Il valore predefinito è 0.
No
log_checkpoints boolean
on | off
Il valore predefinito è off.
No
log_connections boolean
on | off
L'impostazione predefinita è off.
No
log_disconnections boolean
on | off
L'impostazione predefinita è off.
No
log_duration boolean
on | off
Il valore predefinito è off.
No
log_error_verbosity enumeration
terse | default | verbose
Il valore predefinito è predefinito.
No
log_executor_stats boolean
on | off
Il valore predefinito è off.
No
log_hostname boolean
on | off
L'impostazione predefinita è off.
No
log_line_prefix String
Una stringa in stile printf generata all'inizio di ogni riga di un file di log.
Il valore predefinito è %m [%p]: [%l-1] db=%d,user=%u, che registra timestamp, ID processo, database e nome utente.
No
log_lock_waits boolean
on | off
Il valore predefinito è off.
No
log_min_duration_statement integer
-1 ... 2147483647 ms
Il valore predefinito è -1.
No
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Il valore predefinito è errore.
No
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
Il valore predefinito è avviso.
No
log_parser_stats boolean
on | off
Il valore predefinito è off.
No
log_planner_stats boolean
on | off
Il valore predefinito è off.
No
log_replication_commands boolean
on | off
L'impostazione predefinita è off.
No
log_statement enumeration
none | ddl | mod | all
Imposta su mod per registrare tutte le DDL (Data Definition Language) istruzioni, più istruzioni di modifica dei dati come INSERT, UPDATE, DELETE, TRUNCATE
Il valore predefinito è nessuno.
No
log_statement_stats boolean
on | off
Non può essere attivato insieme a log_parser_stats, log_planner_stats o log_executor_stats.
L'impostazione predefinita è off.
No
log_temp_files integer
0 ... 2147483647 kB o -1 per disattivare
Il valore predefinito è 0.
No
log_timezone string
Questo flag fornisce Cloud SQL per PostgreSQL agli utenti di impostare il fuso orario da usare per i timestamp che scritte nel log del server.

Specifica i fusi orari per nome. Ad esempio, Europe/London è il nome del fuso orario di Londra.

Per tenerne conto, devi aggiornare questo flag manualmente sull'istanza principale e su tutte le repliche di lettura.

I nomi dei fusi orari non fanno distinzione tra maiuscole e minuscole. Puoi fornire il nome del fuso orario in qualsiasi caso.

Supportiamo UTC+X come formato valido per questo flag, dove X è +/-HH:MM.

logical_decoding_work_mem integer
64 ... 2147483647
Il valore predefinito è 65536.
No
maintenance_io_concurrency integer
0 ... 1000
Il valore predefinito è 10.
No
maintenance_work_mem integer
1024 ... 2147483647 KB
Il valore predefinito è 64 MB.
No
max_connections integer
14 ... varies (see note)
Il valore predefinito dipende dalla quantità di memoria dell'istanza più grande della catena di istanze principali (questa istanza e, se si tratta di una replica di lettura, la sua principale, la principale della principale e così via fino alla radice dell'albero di replica).
Memoria (GB) sull'istanza più grandeValore predefinito
minuscolo (~0,5)25
piccolo (~1,7)50
da 3,75 a < 6100
Da 6 a < 7,5200
Da 7,5 a < 15400
Da 15 a < 30500
da 30 a < 60600
Da 60 a < 120800
>=1201000

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito. Queste modifiche all'istanza principale causano il riavvio della replica.

max_locks_per_transaction integer
10 ... 2,147,483,647
Il valore predefinito è 64.

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito. Queste modifiche all'istanza principale causano il riavvio della replica.

max_logical_replication_workers integer
4 ... 8192
Il valore predefinito è 4.
Supportato in PostgreSQL 10 e versioni successive.
max_parallel_maintenance_workers integer
0 ... varies
Il valore predefinito è 2.
Supportato in PostgreSQL 11 e versioni successive.

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o che non sono state modificate da il valore predefinito.

Se il valore dell'istanza principale è default, il valore delle repliche non può essere è cambiato. Per modificare il valore delle repliche, imposta innanzitutto il valore dell'istanza principale su un numero intero.

No
max_parallel_workers integer
0 ... varies
Il valore predefinito è 8.
Supportato in PostgreSQL 10 e versioni successive.

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito.

Se il valore dell'istanza principale è default, il valore delle repliche non può essere è cambiato. Per modificare il valore delle repliche, imposta innanzitutto il valore dell'istanza principale su un numero intero.

No
max_parallel_workers_per_gather integer
0 ... varies
Il valore predefinito è 2.

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito.

Se il valore dell'istanza principale è default, il valore delle repliche non può essere è cambiato. Per modificare il valore delle repliche, imposta innanzitutto il valore dell'istanza principale su un numero intero.

No
max_pred_locks_per_page integer
0 ... 2147483647
Il valore predefinito è 2.
Supportato in PostgreSQL 10 e versioni successive.
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
Il valore predefinito è -2.
Supportato in PostgreSQL 10 e versioni successive.
max_pred_locks_per_transaction integer
64 ... 1048576
max_prepared_transactions integer
0 ... varies
Dimensioni memoria (MB)Valore max
0-384030.000
3840-768085.000
7.680 - 15.360200.000
15.360 e oltre262.000

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito. Queste modifiche all'istanza principale causano il riavvio della replica.

max_replication_slots integer
10 ... varies
Il valore predefinito è 10.
max_standby_archive_delay integer
0 ... 2147483647 ms oppure -1 per attendere indefinitamente
No
max_standby_streaming_delay integer
0 ... 2147483647 ms o -1 di attesa
No
max_sync_workers_per_subscription integer
2 ... 64
Non deve essere maggiore di max_logical_replication_workers.
No
max_wal_senders integer
10 ... varies
Il valore predefinito è 10.

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito. Queste modifiche all'istanza principale causano il riavvio della replica.

max_wal_size integer
2 ... 2147483647

L'unità è di 16 MB (la dimensione del file WAL) per la versione 9.6 e 1 MB per PostgreSQL 10 e versioni successive.

Il valore predefinito è 1504 MB se la memoria dell'istanza è superiore o uguale a 3.75 GB. Il valore predefinito è 1 GB se la memoria dell'istanza è inferiore a 3.75 GB.

Per informazioni sull'utilizzo che potrebbero influire sullo SLA, consulta Linee guida operative per le istanze Cloud SQL per PostgreSQL.
No
max_worker_processes integer
8 ... varies

Il valore delle repliche deve essere maggiore o uguale al valore dell'istanza principale. Le modifiche all'istanza principale si propagano alle repliche che hanno un valore inferiore al nuovo valore dell'istanza principale o invariato rispetto al valore predefinito. Queste modifiche all'istanza principale causano il riavvio della replica.

min_parallel_relation_size integer
0 ... 715827882
L'unità di misura è 8 KB
Supportato solo in PostgreSQL 9.6.
No
min_wal_size integer
32 ... 2147483647

L'unità è di 16 MB (la dimensione del file WAL) per la versione 9.6 e 1 MB per PostgreSQL 10 e versioni successive.

No
old_snapshot_threshold integer
0 ... 86400 min o -1 per disattivare
Il valore predefinito è -1.
parallel_setup_cost float
0.0 ... inf
Il valore predefinito è 1000.
No
parallel_tuple_cost float
0.0 ... inf
Il valore predefinito è 0,1.
No
password_encryption enumeration
md5 | scram-sha-256

Il valore predefinito dipende dalla versione di PostgreSQL. Per PostgreSQL versioni da 10 a 13, il valore predefinito è md5. Per PostgreSQL 14 e successivi, il valore predefinito è scram-sha-256.

No
pg_bigm.enable_recheck boolean
on | off
No
pg_bigm.gin_key_limit integer
0 ... 2147483647
No
pg_bigm.similarity_limit float
0.0 ... 1.0
No
pg_hint_plan.enable_hint boolean
on | off
Il valore predefinito è on.
No
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
L'impostazione predefinita è off.
No
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
Il valore predefinito è info.
No
pg_hint_plan.message_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
Il valore predefinito è log.
No
pg_hint_plan.enable_hint_table boolean
on | off
Il valore predefinito è off.
No
pglogical.batch_inserts boolean
on | off
Il valore predefinito è off.
pglogical.conflict_log_level String
Il valore predefinito è LOG.
Questo flag accetta gli stessi valori di log_min_messages.
No
pglogical.conflict_resolution String
error|apply_remote|keep_local|last_update_wins|first_update_wins Il valore predefinito è apply_remote.
No
pglogical.extra_connection_options String
Accetta PostgreSQL stringhe di connessione parola chiave/valore.
La stringa predefinita è vuota.
No
pglogical.synchronous_commit boolean
on | off
Il valore predefinito è on.
pglogical.use_spi boolean
on | off
Il valore predefinito è off.
pg_stat_statements.max integer
100 ... 2147483647
Il valore predefinito è 5000.
pg_stat_statements.save boolean
on | off
Il valore predefinito è on.
No
pg_stat_statements.track enumeration
none | top | all
Il valore predefinito è top.
No
pg_stat_statements.track_utility boolean
on | off
L'impostazione predefinita è on.
No
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

Puoi fornire più corsi utilizzando un elenco separato da virgole e sottrarre una classe facendola precedere il simbolo -. Il valore predefinito è none.

No
pgaudit.log_catalog boolean
on | off
Il valore predefinito è on.
No
pgaudit.log_client boolean
on | off
Il valore predefinito è off.
No
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log
Il valore predefinito è log. Inoltre, pgaudit.log_level è abilitato solo quando Il dispositivo pgaudit.log_client è attivo.
No
pgaudit.log_parameter boolean
on | off
Il valore predefinito è off.
No
pgaudit.log_relation boolean
on | off
Il valore predefinito è off.
No
pgaudit.log_statement_once boolean
on | off
Il valore predefinito è off.
No
pgaudit.role string
Non è presente un valore predefinito.
No
pgtt.enabled boolean
on | off
Il valore predefinito è on.
No
pg_wait_sampling.history_period integer
1 ... 2147483647
No
pg_wait_sampling.history_size integer
1 ... 2147483647
No
pg_wait_sampling.profile_period integer
1 ... 2147483647
No
pg_wait_sampling.profile_pid boolean
on | off
No
pg_wait_sampling.profile_queries boolean
on | off
No
random_page_cost float
0.0 ... inf
Il valore predefinito è 4.
No
rdkit.agent_FP_bit_ratio float
0 ... 3
No
rdkit.avalon_fp_size integer
64 ... 9192
No
rdkit.dice_threshold float
0 ... 1
No
rdkit.difference_FP_weight_agents integer
-10 ... 10
No
rdkit.difference_FP_weight_nonagents integer
1 ... 20
No
rdkit.do_chiral_sss boolean
on | off
No
rdkit.do_enhanced_stereo_sss boolean
on | off
No
rdkit.featmorgan_fp_size integer
64 ... 9192
No
rdkit.hashed_atompair_fp_size integer
64 ... 9192
No
rdkit.hashed_torsion_fp_size integer
64 ... 9192
No
rdkit.ignore_reaction_agents boolean
on | off
No
rdkit.init_reaction boolean
on | off
No
rdkit.layered_fp_size integer
64 ... 9192
No
rdkit.morgan_fp_size integer
64 ... 9192
No
rdkit.move_unmmapped_reactants_to_agents boolean
on | off
No
rdkit.rdkit_fp_size integer
64 ... 9192
No
rdkit.reaction_difference_fp_size integer
64 ... 9192
No
rdkit.reaction_difference_fp_type integer
1 ... 3
No
rdkit.reaction_sss_fp_size integer
64 ... 9192
No
rdkit.reaction_sss_fp_type integer
1 ... 5
No
rdkit.sss_fp_size integer
64 ... 4096
No
rdkit.tanimoto_threshold float
0 ... 1
No
rdkit.threshold_unmapped_reactant_atoms float
0 ... 1
No
replacement_sort_tuples integer
0 ... 2147483647
No
session_replication_role enumeration
origin | replica | local
Impostabile solo nella sessione corrente
-
shared_buffers integer
L'intervallo di dimensioni va dal 10% al 60% della memoria dell'istanza.
L'unità è 8 kB.
Il valore predefinito è un terzo della memoria VM totale dell'istanza (in MB). Ad esempio, per 45 GB di memoria dell'istanza, il valore predefinito è 15085 MB.
squeeze.max_xlock_time integer
1 ... 2147483647
No
squeeze.worker_autostart string
squeeze.worker_role string
ssl_max_protocol_version enumeration
Postgres 14: imposta la versione massima del protocollo SSL/TLS da utilizzare. I valori validi sono gli stessi di ssl_min_protocol_version, con l'aggiunta di una stringa vuota, che consente di specificare qualsiasi versione del protocollo.
Supportato in PostgreSQL 12 e versioni successive.
No
ssl_min_protocol_version enumeration
Postgres 14: imposta il protocollo SSL/TLS minimo la versione del protocollo da utilizzare. Al momento i valori validi sono: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.
Il valore predefinito è TLSv1.
Supportato in PostgreSQL 12 e versioni successive.
No
standard_conforming_strings boolean
on | off
Il valore predefinito è on.
No
synchronize_seqscans boolean
on | off
Il valore predefinito è on.
No
tcp_keepalives_count integer
0 ... 2147483647
Il valore predefinito è 5.
No
tcp_keepalives_idle integer
0 ... 2147483647
Il valore predefinito è 60.
No
tcp_keepalives_interval integer
0 ... 2147483647
Il valore predefinito è 60.
No
temp_buffers integer
100 ... 1,073,741,823
L'unità di misura è 8 KB
No
temp_file_limit integer
1048576 ... 2147483647 KB
Il valore predefinito è il 10% della dimensione del disco iniziale. Ad esempio, per un disco da 100 GB, il valore predefinito è 10262623 kB.
No
TimeZone string
Questo flag fornisce Cloud SQL per PostgreSQL agli utenti di impostare il fuso orario per la visualizzazione e l'analisi dei timestamp.

Specifica i fusi orari per nome. Ad esempio, Europe/London è il nome del fuso orario di Londra.

Per tenerne conto, devi aggiornare questo flag manualmente sull'istanza principale e su tutte le repliche di lettura.

I nomi dei fusi orari non fanno distinzione tra maiuscole e minuscole. Puoi fornire il nome del fuso orario in qualsiasi caso.

Supportiamo UTC+X come formato valido per questo flag, dove X è +/-HH.

trace_notify boolean
on | off
Il valore predefinito è off.
No
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
Il valore predefinito è log.
No
trace_sort boolean
on | off
L'impostazione predefinita è off.
No
track_activities boolean
on | off
Il valore predefinito è on.
No
track_activity_query_size integer
100 ... 102400
Il valore predefinito è 1 KB.
track_commit_timestamp boolean
on | off
L'impostazione predefinita è off.
track_counts boolean
on | off
L'impostazione predefinita è on.
No
track_functions enumeration
none | pl | all
Il valore predefinito è nessuno.
No
track_io_timing boolean
on | off
L'impostazione predefinita è off.
No
vacuum_cost_delay integer
0 ... 100 ms
Il valore predefinito è 0.
No
vacuum_cost_limit integer
1 ... 10000
Il valore predefinito è 200.
No
vacuum_failsafe_age integer
0 ... 2100000000
Il valore predefinito è 1600000000.
No
vacuum_freeze_min_age integer
0 ... 1000000000
Il valore predefinito è 50000000.
No
vacuum_freeze_table_age integer
0 ... 2000000000
Il valore predefinito è 150000000.
No
vacuum_multixact_failsafe_age integer
0 ... 2100000000
Il valore predefinito è 1600000000.
No
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
Il valore predefinito è 5000000.
No
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
Il valore predefinito è 150000000.
No
wal_buffers integer
L'intervallo di dimensioni è compreso tra -1 e il 5% della dimensione la memoria.
Unità: 8 KB.
Il valore predefinito è 16 MB.
wal_compression enumeration
off | on | pglz | lz4 | zstd
L'impostazione predefinita è off.
No
wal_receiver_timeout integer
0 ... 2147483647
Il valore predefinito è 60 secondi.

Questo flag interessa il mittente e il destinatario del WAL. Se non impostato correttamente, questo flag influisce sulle caratteristiche logiche e fisiche la replica dei dati. Questo flag influisce anche sulle prestazioni e sulla latenza di replica. Il valore zero disattiva il meccanismo di timeout. L'unità è millisecondi.

No
wal_sender_timeout integer
0 ... 2147483647
Il valore predefinito è 60 secondi.

Questo flag influisce sul mittente e sul destinatario WAL. Se non è impostato correttamente, questo flag influisce sulla replica logica e fisica. Questo flag influisce anche sulle prestazioni e sulla latenza della replica. Il valore zero disattiva il meccanismo di timeout. L'unità è in millisecondi.

No
work_mem integer
64 ... 2147483647 kB
Il valore predefinito è 4 MB.
No

Segnalazioni speciali

bgwriter

PostgreSQL ha un flag writer in background (bgwriter). Questo flag genera scritture di buffer condivisi nuovi o modificati. Questi buffer condivisi sono noti come buffer sporchi. Quando il numero di buffer condivisi puliti non è sufficiente, l'autore dello sfondo scrive i buffer dirty nel file system e li contrassegna come puliti.

Due indicatori associati all'indicatore bgwriter sono bgwriter_delay e bgwriter_lru_maxpages. bgwriter_delay specifica il ritardo tra un'attività arrotondati per l'autore in background in millisecondi (ms) e bgwriter_lru_maxpages specifica quanti buffer verranno scritti dall'autore dello sfondo.

Il valore predefinito per il flag bgwriter è 200 ms. Tuttavia, se selezioni un'unità a stato solido (SSD) di dimensioni superiori a 500 GB, il valore del flag bgwriter_delay è impostato su 50 e il valore il flag bgwriter_lru_maxpages è impostato su 200.

Per ulteriori informazioni sul writer in background, consulta la documentazione di PostgreSQL.

session_replication_role

PostgreSQL ha il flag session_replication_role, progettato per essere utilizzato per la replica logica e ti consente di disattivare gli attivatori dei vincoli nelle singole sessioni.

A volte questo flag può essere usato anche per alcune operazioni di manutenzione eludere i controlli dei vincoli (molto spesso tramite chiave esterna).

Questo flag può essere impostato in una sessione da qualsiasi utente con REPLICATION insieme di proprietà. La proprietà REPLICATION per qualsiasi utente può essere impostata da cloudsqlsuperuser quando uno dei flag cloudsql.enable_pglogical o cloudsql.logical_decoding è impostato per l'istanza.

Questo flag non può essere impostato per l'intera istanza.

Risoluzione dei problemi

Problema Risoluzione dei problemi
Puoi impostare il fuso orario per una sessione, ma farlo scade quando ti disconnetti.

Connettiti al database e imposta fuso orario del database in base a quello desiderato per utente o per database.

In Cloud SQL per PostgreSQL, puoi specificare quanto segue. Queste impostazioni rimangono dopo la chiusura di una sessione, simulando una configurazione di .conf:

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

Queste impostazioni si applicano solo alle nuove connessioni al database. Per vedere le modifica il fuso orario, disconnettiti dall'istanza e riconnettiti a li annotino.

Passaggi successivi