Configurazione dei flag di database

Questa pagina descrive come configurare i flag di database per Cloud SQL ed elenca i flag che puoi impostare per la tua istanza. Puoi usare 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 rimane per l'istanza finché non lo rimuovi. Se l'istanza è l'origine di una replica e l'istanza viene riavviata, viene riavviata anche la replica 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 la quale 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 nella sezione Flag della 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 per tutti i flag che vuoi impostare nell'istanza. Qualsiasi flag non incluso nello specifico è impostato sul valore predefinito. Per i flag che non prendono un valore, specifica il nome della segnalazione 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 tua configurazione Terraform a 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

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.

Prepara la directory

Ogni file di configurazione Terraform deve avere la propria directory (chiamata 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 è denominato 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 nuovo oggetto main.tf.

    Facoltativamente, 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. Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà soddisfino le tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

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

    Attendi finché in Terraform non viene visualizzato il messaggio "Applicazione completata!".

  3. Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nella UI per assicurarti che Terraform le abbia create o aggiornate.

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, imposta l'argomento deletion_protection nel file di configurazione di Terraform su false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo questo comando e inserendo yes al prompt:
    terraform apply
  1. Per rimuovere le risorse applicate in precedenza con la tua configurazione Terraform, esegui questo comando e inserisci 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se esistono flag esistenti 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Se esistono flag esistenti configurati per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti 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 la quale 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 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 delle seguenti 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 delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Visualizza i valori attuali dei flag di database

Per visualizzare tutti i valori attuali 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 di 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 sotto settings come raccolta databaseFlags. Per maggiori 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, 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 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, 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 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 dall'opzione o dal parametro PostgreSQL corrispondente.

A | C | D | E | F | G | G | I | J | L | L | O | P3}PPP |RTV

Flag Cloud SQL Tipo
Valori e note accettabili
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 esiste un valore predefinito.
No
anon.sourceshema String
Il valore predefinito è public.
No
auto_explain.log_analyze boolean
on | off
L'impostazione predefinita è 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
L'impostazione predefinita è testo.
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
L'impostazione predefinita è 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
L'impostazione predefinita è 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 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_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 è partizione.
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 è "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 è il 40% della memoria delle VM. Ad esempio, per un'istanza di 45 GB di memoria, 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 è on.
No
enable_hashagg boolean
on | off
L'impostazione predefinita è 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
L'impostazione predefinita è on
No
enable_mergejoin boolean
on | off
L'impostazione predefinita è on.
No
enable_nestloop boolean
on | off
L'impostazione predefinita è on.
No
enable_seqscan boolean
on | off
L'impostazione predefinita è 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
L'impostazione predefinita è off.
No
from_collapse_limit integer
1 ... 2147483647
Il valore predefinito è 8.
No
Geqo boolean
on | off
L'impostazione predefinita è 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
L'impostazione predefinita è 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
L'impostazione predefinita è 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
L'impostazione predefinita è off.
No
log_error_verbosity enumeration
terse | default | verbose
Il valore predefinito è predefinito.
No
log_executor_stats boolean
on | off
L'impostazione predefinita è 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 di processo, database e nome utente.
No
log_lock_waits boolean
on | off
L'impostazione predefinita è 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
L'impostazione predefinita è off.
No
log_planner_stats boolean
on | off
L'impostazione predefinita è 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 istruzioni DDL (Data Definition Language) e le istruzioni 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.
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 agli utenti di Cloud SQL per PostgreSQL un modo per impostare il fuso orario utilizzato per i timestamp scritti nel log del server.

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

Devi aggiornare questo flag manualmente, sull'istanza principale e in 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 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 nella catena di istanze primarie (questa istanza; se si tratta di una replica di lettura, da quella principale a 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 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 è stato modificato rispetto al valore predefinito.

Se il valore dell'istanza principale è default, il valore delle repliche non può essere modificato. Per modificare il valore delle repliche, imposta prima di tutto 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'istanza principale è default, il valore delle repliche non può essere modificato. Per modificare il valore delle repliche, imposta prima di tutto 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'istanza principale è default, il valore delle repliche non può essere modificato. Per modificare il valore delle repliche, imposta prima di tutto 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
3.840 - 7.68085.000
7.680 - 15.360200.000
15.360 e più262.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 o -1 di attesa
No
max_standby_streaming_delay integer
0 ... 2147483647 ms o -1 di attesa
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 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 (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 all'istanza 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 (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

L'impostazione predefinita dipende dalla versione di PostgreSQL. Per le versioni di PostgreSQL dalla 10 alla 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 è 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
L'impostazione predefinita è 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 è 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 le stringhe di connessione PostgreSQL con valore/parola chiave.
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
L'impostazione predefinita è on.
No
pg_stat_statements.track enumeration
none | top | all
Il valore predefinito è in alto.
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 dal 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 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 esiste un valore predefinito.
No
pgtt.enabled boolean
on | off
L'impostazione predefinita è 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
No
squeeze.worker_role string
No
ssl_max_protocol_version enumeration
Postgres 14: imposta la versione massima del protocollo SSL/TLS da utilizzare. I valori validi sono quelli per 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. I valori attualmente 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 è on.
No
synchronize_seqscans boolean
on | off
L'impostazione predefinita è 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à è 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 fornisce agli utenti di Cloud SQL per PostgreSQL un modo per impostare il fuso orario per la visualizzazione e l'analisi dei timestamp.

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

Devi aggiornare questo flag manualmente, sull'istanza principale e in 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 qualsiasi caso.

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

trace_notify boolean
on | off
L'impostazione predefinita è 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
L'impostazione predefinita è 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_defer_cleanup_age integer
0 ... 1000000
Il valore predefinito è 0.
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 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 sul destinatario WAL. Se non impostato correttamente, questo flag influisce sulla replica logica e fisica. Questo flag influisce anche sulle prestazioni e sulla latenza di replica. Il valore zero disattiva 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 sul destinatario WAL. Se non impostato correttamente, questo flag influisce sulla replica logica e fisica. Questo flag influisce anche sulle prestazioni e sulla latenza di 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 chiamati buffer dirty. Quando il numero di buffer condivisi puliti non è sufficiente, il writer in background scrive i buffer dirty 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 l'autore in background in millisecondi (ms), e bgwriter_lru_maxpages specifica il numero di buffer che verranno scritti dall'autore in background.

Il valore predefinito del 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 viene impostato su 50, mentre il valore del flag bgwriter_lru_maxpages viene 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 consente di disabilitare gli attivatori di vincoli in singole sessioni.

A volte questo flag può essere utilizzato anche per alcune operazioni di manutenzione per eludere i controlli relativi a vincoli (molto spesso da chiavi esterne).

Questo flag può essere impostato in una sessione da qualsiasi utente per cui è impostata 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.logical_decoding.

Impossibile impostare questo flag 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 il fuso orario del database sul valore 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 .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 visualizzare la modifica al fuso orario, disconnettiti dall'istanza e riconnettiti all'istanza.

Passaggi successivi