Configurazione dei flag di database

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

In alcuni casi, l'impostazione di un flag può richiedere l'impostazione di un altro flag per abilitare 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 fino a quando non lo rimuovi. Se l'istanza è l'origine di una replica e l'istanza viene riavviata, anche la replica viene riavviata per allinearsi alla configurazione attuale 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 di 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 di database impostati in precedenza. Per conservarli e aggiungerne di nuovi, includi i valori di tutti i flag che vuoi impostare sull'istanza. Ogni flag non incluso specificamente viene impostato sul valore predefinito. Per i flag che non accettano un valore, specifica il nome del flag seguito dal 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 sezioni seguenti.

prepara Cloud Shell

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

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

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Se imposti valori espliciti nel file di configurazione Terraform, le variabili di ambiente vengono sostituite.

Prepara la directory

Ogni file di configurazione Terraform deve avere una propria directory (detta anche modulo principale).

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

    Copia il codice campione nel file main.tf appena creato.

    Se vuoi, copia il codice da GitHub. Questa opzione è consigliata se 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 l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi finché Terraform non visualizza il messaggio "Applicazione completata".

  3. Apri il 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, nel file di configurazione Terraform imposta l'argomento deletion_protection su false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la tua configurazione Terraform eseguendo il comando seguente e inserendo yes al prompt:

    terraform destroy

REST v1

Per impostare un flag per un database 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":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se sono presenti 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, 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":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Cancella tutti i flag sui valori predefiniti

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 tutte le segnalazioni mostrate.
  5. Fai clic su Salva per salvare le modifiche.

gcloud

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

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

Viene richiesto di confermare il riavvio dell'istanza.

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 all'istanza con il client psql e inserisci la seguente istruzione:

 SELECT name, setting FROM pg_settings;

Tieni presente che puoi modificare il valore solo per i flag supportati (come elencato 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 cui vuoi visualizzare i flag del database che sono stati impostati.
  2. Seleziona l'istanza per aprire la relativa pagina Panoramica dell'istanza.

    I flag di database che sono stati 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 sotto settings come raccolta databaseFlags. Per maggiori informazioni sulla rappresentazione dei flag nell'output, consulta la pagina relativa alla rappresentazione delle risorse delle istanze.

REST v1

Per elencare i flag configurati per un'istanza:

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:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Cerca il campo databaseFlags nell'output.

REST v1beta4

Per elencare i flag configurati per un'istanza:

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:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Cerca il campo databaseFlags nell'output.

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 dal parametro o dall'opzione PostgreSQL corrispondente.

A | C | D | E | F | G | H | I | J | L | M | O | | O | RRPRTV

Flag Cloud SQL Tipo
Valori e note accettabili
Riavviare
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 è disattivata.
No
anon.salt String
Non esiste un valore predefinito.
No
anon.sourceshema String
Il valore predefinito è public.
No
auto_explain.log_analyze boolean
on | off
L'impostazione predefinita è disattivata.
No
auto_explain.log_buffers boolean
on | off
L'impostazione predefinita è disattivata.
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 è disattivata.
No
auto_explain.log_settings boolean
on | off
Il valore predefinito è off.
Supportato in PostgreSQL 12 e versioni successive.
No
auto_explain.log_timing boolean
on | off
L'impostazione predefinita è attiva.
No
auto_explain.log_triggers boolean
on | off
L'impostazione predefinita è disattivata.
No
auto_explain.log_wal boolean
on | off
Il valore predefinito è disattivato.
Supportato in PostgreSQL 13 e versioni successive.
No
auto_explain.log_verbose boolean
on | off
L'impostazione predefinita è disattivata.
No
auto_explain.sample_rate Float
0 ... 1
Il valore predefinito è 1.
No
autovacuum boolean
on | off
L'impostazione predefinita è attiva.
Per informazioni sull'utilizzo che potrebbero influire sullo SLA (accordo sul 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 sullo SLA (accordo sul 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 (accordo sul livello del servizio), consulta le linee guida operative per le istanze Cloud SQL per PostgreSQL.
autovacuum_naptime integer
1 ... 2147483 s
Il valore predefinito è 60 s.
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,400 s
Il valore predefinito è 300 s.
Per informazioni sull'utilizzo che potrebbero influire sullo SLA (accordo sul livello del servizio), consulta le linee guida operative per le istanze Cloud SQL per PostgreSQL.
No
checkpoint_warning integer
0 ... 2147483647 s
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
Il valore predefinito è 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_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 è attiva.
Supportato in PostgreSQL 10 e versioni successive.
cron.log_run boolean
on | off
L'impostazione predefinita è attiva.
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 è warning.
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
Per impostazione predefinita è disattivata.
No
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
Il valore predefinito è "impegno di lettura".
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 è 40% della memoria VM. Ad esempio, per un'istanza di memoria di 45 GB, il valore predefinito è 18537160 kB.
No
effective_io_concurrency integer
0 ... 1000
Il valore predefinito è 1.
No
enable_bitmapscan boolean
on | off
L'impostazione predefinita è attiva.
No
enable_hashagg boolean
on | off
L'impostazione predefinita è attiva.
No
enable_hashjoin boolean
on | off
L'impostazione predefinita è attiva.
No
enable_indexonlyscan boolean
on | off
L'impostazione predefinita è attiva.
No
enable_indexscan boolean
on | off
L'impostazione predefinita è attiva.
No
enable_material boolean
on | off
L'impostazione predefinita è attiva
No
enable_mergejoin boolean
on | off
L'impostazione predefinita è attiva.
No
enable_nestloop boolean
on | off
L'impostazione predefinita è attiva.
No
enable_seqscan boolean
on | off
L'impostazione predefinita è attiva.
No
enable_sort boolean
on | off
L'impostazione predefinita è attiva.
No
enable_tidscan boolean
on | off
L'impostazione predefinita è attiva.
No
force_parallel_mode enumeration
off | on | regress
Per impostazione predefinita è disattivata.
No
from_collapse_limit integer
1 ... 2147483647
Il valore predefinito è 8.
No
geqo boolean
on | off
L'impostazione predefinita è attiva.
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
Per impostazione predefinita è disattivata.
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 o -1 per disattivare
Il valore predefinito è 0.
No
log_checkpoints boolean
on | off
Per impostazione predefinita è disattivata.
No
log_connections boolean
on | off
Per impostazione predefinita è disattivata.
No
log_disconnections boolean
on | off
Per impostazione predefinita è disattivata.
No
log_duration boolean
on | off
Per impostazione predefinita è disattivata.
No
log_error_verbosity enumeration
terse | default | verbose
L'impostazione predefinita è predefinita.
No
log_executor_stats boolean
on | off
Per impostazione predefinita è disattivata.
No
log_hostname boolean
on | off
Per impostazione predefinita è disattivata.
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 il timestamp, l'ID di processo, il database e il nome utente.
No
log_lock_waits boolean
on | off
Per impostazione predefinita è disattivata.
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
Per impostazione predefinita è disattivata.
No
log_planner_stats boolean
on | off
Per impostazione predefinita è disattivata.
No
log_replication_commands boolean
on | off
Per impostazione predefinita è disattivata.
No
log_statement enumeration
none | ddl | mod | all
Imposta il valore mod per registrare tutte le istruzioni in Data Definition Language (DDL) e quelle di modifica dei dati, come INSERT, UPDATE, DELETE e TRUNCATE.
Il valore predefinito è none.
No
log_statement_stats boolean
on | off
Non può essere attivato insieme a log_parser_stats, log_planner_stats o log_executor_stats.
Per impostazione predefinita, è disattivata.
No
log_temp_files integer
0 ... 2147483647 kB o -1 per disattivare
Il valore predefinito è 0.
No
log_timezone string
Questo flag consente agli utenti di Cloud SQL per PostgreSQL di impostare il fuso orario utilizzato per i timestamp scritti nel log del server.

Puoi specificare i fusi orari in base al nome. Ad esempio, Europe/London è il nome del fuso orario di Londra.

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

I nomi dei fusi orari non fanno distinzione tra maiuscole e minuscole. Puoi fornire il nome del fuso orario in ogni 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 nella catena di istanze primarie (questa istanza e, nel caso di una replica di lettura, quella principale, quella principale e così via fino alla radice dell'albero di replica).
Memoria (GB) sull'istanza più grandeValore predefinito
minuscolo (~0,5)25
piccola (~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 sull'oggetto 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 sull'oggetto 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 è stato modificato rispetto al valore predefinito.

Se il valore dell'oggetto principale è default, il valore delle repliche non può essere modificato. Per modificare il valore delle repliche, devi prima impostare 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 che non è stato modificato rispetto al valore predefinito.

Se il valore dell'oggetto principale è default, il valore delle repliche non può essere modificato. Per modificare il valore delle repliche, devi prima impostare 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 che non è stato modificato rispetto al valore predefinito.

Se il valore dell'oggetto principale è default, il valore delle repliche non può essere modificato. Per modificare il valore delle repliche, devi prima impostare 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
7680 - 15.360200.000
Più di 15.360262.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 sull'oggetto principale causano il riavvio della replica.

max_replication_slots integer
10 ... varies
Il valore predefinito è 10.
max_standby_archive_delay integer
0 ... 2147483647 ms o -1 per attendere all'infinito
No
max_standby_streaming_delay integer
0 ... 2147483647 ms o -1 per attendere all'infinito
No
max_sync_workers_per_subscription integer
2 ... 64
Non può essere superiore a 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 sull'oggetto principale causano il riavvio della replica.

max_wal_size integer
2 ... 2147483647

L'unità è di 16 MB (le dimensioni del file WAL) per la versione 9.6 e di 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 (accordo sul livello del servizio), consulta le 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 sull'oggetto principale causano il riavvio della replica.

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

L'unità è di 16 MB (le dimensioni del file WAL) per la versione 9.6 e di 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 PostgreSQL. Per le versioni PostgreSQL da 10 a 13, il valore predefinito è md5. Per PostgreSQL 14 e versioni successive, 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
L'impostazione predefinita è attiva.
No
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
Per impostazione predefinita è disattivata.
No
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
Il valore predefinito è informazioni.
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
L'impostazione predefinita è disattivata.
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 stringhe di connessione valore/parola chiave PostgreSQL.
Il valore predefinito è la stringa 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
L'impostazione predefinita è attiva.
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 è attiva.
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 anteponendo alla classe un segno -. 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 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 esistono valori predefiniti.
No
pgtt.enabled boolean
on | off
L'impostazione predefinita è attiva.
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
Può essere impostato 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 corrisponde a un terzo della memoria VM totale dell'istanza (in MB). Ad esempio, per 45 GB di memoria dell'istanza, il valore predefinito è 15085 MB.
ssl_max_protocol_version enumeration
Postgres 14: imposta la versione massima del protocollo SSL/TLS da utilizzare. I valori validi sono quelli di ssl_min_protocol_version, con l'aggiunta di una stringa vuota, che consente di specificare qualsiasi versione di protocollo.
Supportato in PostgreSQL 12 e versioni successive.
No
ssl_min_protocol_version enumeration
Postgres 14: imposta la versione minima del protocollo SSL/TLS da utilizzare. Attualmente 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
L'impostazione predefinita è attiva.
No
synchronize_seqscans boolean
on | off
L'impostazione predefinita è attiva.
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 8 kB
No
temp_file_limit integer
1048576 ... 2147483647 kB
Il valore predefinito è il 10% della dimensione iniziale del disco. Ad esempio, per un disco da 100 GB, il valore predefinito è 10262623 kB.
No
TimeZone string
Questo flag consente agli utenti di Cloud SQL per PostgreSQL di impostare il fuso orario per la visualizzazione e l'analisi dei timestamp.

Puoi specificare i fusi orari in base al nome. Ad esempio, Europe/London è il nome del fuso orario di Londra.

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

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

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

trace_notify boolean
on | off
Per impostazione predefinita è disattivata.
No
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
Il valore predefinito è log.
No
trace_sort boolean
on | off
Per impostazione predefinita è disattivata.
No
track_activities boolean
on | off
L'impostazione predefinita è attiva.
No
track_activity_query_size integer
100 ... 102400
Il valore predefinito è 1 kB.
track_commit_timestamp boolean
on | off
Per impostazione predefinita è disattivata.
track_counts boolean
on | off
L'impostazione predefinita è attiva.
No
track_functions enumeration
none | pl | all
Il valore predefinito è nessuno.
No
track_io_timing boolean
on | off
Per impostazione predefinita è disattivata.
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 va da -1 a 5% della memoria dell'istanza.
L'unità è 8 kB.
Il valore predefinito è 16 MB.
wal_compression enumeration
off | on | pglz | lz4 | zstd
Il valore predefinito è off.
No
wal_receiver_timeout integer
0 ... 2147483647
Il valore predefinito è 60 secondi.

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

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

Questo flag influisce sul mittente e destinatario WAL. Se non impostato in modo appropriato, questo flag influisce sulla replica logica e fisica. Questo flag influisce anche sulle prestazioni e sulla latenza della replica. Un valore pari a zero disabilita 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 invia 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 in background scrive i buffer sporchi nel file system e li contrassegna come puliti.

Due flag associati al flag bgwriter sono bgwriter_delay e bgwriter_lru_maxpages. bgwriter_delay specifica il ritardo tra i round di attività per lo scrittore in background in millisecondi (ms) e bgwriter_lru_maxpages specifica il numero di buffer che verranno scritti dall'autore in background.

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

Per ulteriori informazioni sull'autore 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 disabilitare trigger di vincolo nelle singole sessioni.

A volte questo flag può essere utilizzato anche per alcune operazioni di manutenzione al fine di eludere i controlli dei vincoli (il più delle volte i controlli delle chiavi esterne).

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

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

Risoluzione dei problemi

Problema Risoluzione dei problemi
Hai impostato il fuso orario per una sessione, ma scade quando ti disconnetti.

Connettiti al database e imposta il fuso orario del database su quello che preferisci, per utente o per database.

In Cloud SQL per PostgreSQL, puoi specificare quanto segue. Queste impostazioni rimangono dopo la chiusura di una sessione, imitando 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 la modifica del fuso orario, disconnettiti dall'istanza e riconnettiti.

Passaggi successivi