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

Impostare 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 prima nell'istanza, fai clic su Aggiungi elemento, scegli il flag dal menu a discesa e impostane il 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 di tutti i flag che vuoi impostare nell'istanza. Qualsiasi flag non incluso specificamente viene impostato sul relativo 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 nel file di configurazione Terraform.

Prepara la directory

Ogni file di configurazione di Terraform deve avere una propria directory (chiamata anche 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 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 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

    Se vuoi, 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 sta per creare o aggiornare corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

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

    Attendi che Terraform mostri il messaggio "Applicazione completata".

  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, procedi nel seguente modo:

  1. Per disattivare la protezione dall'eliminazione, imposta l'argomento deletion_protection su false nel file di configurazione Terraform.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il seguente comando e inserendo yes al prompt:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente 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 configurati per il database, modifica il comando precedente per includerli. Il comando PATCH sovrascrive i flag esistenti con quelli specificati nella richiesta.

Reimposta tutti gli indicatori sui valori predefiniti

Console

  1. Nella console Google Cloud, seleziona il progetto che contiene l'istanza Cloud SQL per cui vuoi cancellare tutti gli indicatori.
  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

Reimposta 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, 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": []
  }
}

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, 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": []
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

Visualizzare 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 cui vuoi visualizzare gli indicatori del 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

Recupera 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 di queste 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 di queste 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 | F | G | H | I | J | L | M | O | P | R | S | T | V | W

Flag Cloud SQL Tipo
Valori accettabili e note
Riavvio
necessario?
anon.algorithm String
Il valore predefinito è sha256.
No
anon.maskschema String
Il valore predefinito è mask.
No
anon.restrict_to_trusted_schemas boolean
on | off
Il valore predefinito è 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
Il valore predefinito è 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
Il valore predefinito è off.
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
Il valore predefinito è on.
No
auto_explain.log_triggers boolean
on | off
Il valore predefinito è off.
No
auto_explain.log_wal boolean
on | off
Il valore predefinito è 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
Il valore predefinito è 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 sul contratto di livello del servizio, consulta le 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 oppure -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
backend_flush_after integer
0 ... 256
L'unità di misura è 8 KB.
Il valore predefinito è 0.
No
bgwriter_delay integer
10 ... 10000 ms
Il valore predefinito è 200.
No
bgwriter_flush_after integer
0 ... 256
L'unità di misura è 8 KB.
Il valore predefinito è 64.
No
bgwriter_lru_maxpages integer
0 ... 1073741823
Il valore predefinito è 100.
No
bgwriter_lru_multiplier Float
0 ... 10
Il valore predefinito è 2.
No
checkpoint_completion_target float
0.0 ... 1.0
Il valore predefinito è 0,9.
No
checkpoint_flush_after integer
0 ... 256
L'unità di misura è 8 KB.
Il valore predefinito è 32.
No
checkpoint_timeout integer
30 ... 86,400s
Il valore predefinito è 300 secondi.
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 secondi.
No
client_connection_check_interval integer
0 ... 2147483647
Il valore predefinito è 0.
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 è 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
Il valore predefinito è on.
Supportato in PostgreSQL 10 e versioni successive.
cron.log_run boolean
on | off
Il valore predefinito è 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
Il valore predefinito è 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
Il valore predefinito è 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.
Unità: 8 KB.
Il valore predefinito è il 40% della memoria della VM. Ad esempio, per una memoria dell'istanza di 45 GB, il valore predefinito è 18537160 KB.
No
effective_io_concurrency integer
0 ... 1000
Il valore predefinito è 1.
No
enable_async_append boolean
on | off
Il valore predefinito è on.
No
enable_bitmapscan boolean
on | off
Il valore predefinito è on.
No
enable_gathermerge boolean
on | off
Il valore predefinito è on.
No
enable_incremental_sort boolean
on | off
Il valore predefinito è on.
No
enable_memoize boolean
on | off
Il valore predefinito è on.
No
enable_parallel_append boolean
on | off
Il valore predefinito è on.
No
enable_parallel_hash boolean
on | off
Il valore predefinito è on.
No
enable_partition_pruning boolean
on | off
Il valore predefinito è on.
No
enable_partitionwise_aggregate boolean
on | off
Il valore predefinito è off.
No
enable_partitionwise_join boolean
on | off
Il valore predefinito è off.
No
enable_hashagg boolean
on | off
Il valore predefinito è on.
No
enable_hashjoin boolean
on | off
Il valore predefinito è on.
No
enable_indexonlyscan boolean
on | off
Il valore predefinito è on.
No
enable_indexscan boolean
on | off
Il valore predefinito è 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
Il valore predefinito è on.
No
enable_tidscan boolean
on | off
Il valore predefinito è 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
Il valore predefinito è 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
Il valore predefinito è off.
No
log_disconnections boolean
on | off
Il valore predefinito è off.
No
log_duration boolean
on | off
Il valore predefinito è off.
No
log_error_verbosity enumeration
terse | default | verbose
Il valore predefinito è default.
No
log_executor_stats boolean
on | off
Il valore predefinito è off.
No
log_hostname boolean
on | off
Il valore predefinito è 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 è error.
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_recovery_conflict_waits boolean
on | off
Il valore predefinito è off.
No
log_replication_commands boolean
on | off
Il valore predefinito è off.
No
log_statement enumeration
none | ddl | mod | all
Imposta su mod per registrare tutte le istruzioni DDL (Data Definition Language), oltre alle istruzioni di modifica dei dati come INSERT, UPDATE, DELETE, 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.
Il valore predefinito è 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.

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) nell'istanza più grandeValore predefinito
Molto piccolo (~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 invariato rispetto al valore predefinito.

Se il valore nell'istanza principale è default, il valore per le repliche non può essere modificato. Per modificare il valore per le repliche, imposta prima il valore sull'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 nell'istanza principale è default, il valore per le repliche non può essere modificato. Per modificare il valore per le repliche, imposta prima il valore sull'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 nell'istanza principale è default, il valore per le repliche non può essere modificato. Per modificare il valore per le repliche, imposta prima il valore sull'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 oppure -1 per attendere indefinitamente
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à è 16 MB (le dimensioni 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 è maggiore 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 sul contratto SLA, 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_index_scan_size integer
0 ... 715827882
L'unità di misura è 8 KB
No
min_parallel_table_scan_size integer
0 ... 715827882
L'unità di misura è 8 KB
No
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à è 16 MB (le dimensioni 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 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
Il valore predefinito è on.
No
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
Il valore predefinito è 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 stringhe di connessione PostgreSQL con parole chiave/valori.
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
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
Il valore predefinito è on.
No
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

Puoi fornire più classi utilizzando un elenco separato da virgole e sottrarre una classe anteponendola con 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 è attivato 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 è 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
plan_cache_mode

String
auto|force_generic_plan|force_custom_plan
Il valore predefinito è auto.
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
-
seq_page_cost float
0.0 ... inf
Il valore predefinito è 1.0.
No
shared_buffers integer
L'intervallo di dimensioni va dal 10% al 60% della memoria dell'istanza.
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 la versione minima del protocollo SSL/TLS 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 agli utenti di Cloud SQL per PostgreSQL un modo per 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
Il valore predefinito è 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
Il valore predefinito è off.
track_counts boolean
on | off
Il valore predefinito è on.
No
track_functions enumeration
none | pl | all
Il valore predefinito è nessuno.
No
track_io_timing boolean
on | off
Il valore predefinito è 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_cost_page_dirty integer
0 ... 10000
Il valore predefinito è 20.
No
vacuum_cost_page_hit integer
0 ... 10000
Il valore predefinito è 1.
No
vacuum_cost_page_miss integer
0 ... 10000
Il valore predefinito è 10.
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.
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 interessa il mittente e il destinatario del WAL. Se non viene impostato correttamente, 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à di misura è millisecondi.

No
wal_sender_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 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à di misura è in millisecondi.

No
wal_writer_delay integer
1 ... 10000
Il valore predefinito è 200.
No
wal_writer_flush_after integer
0 ... 2147483647
Il valore predefinito è 128.
No
work_mem integer
64 ... 2147483647 KB
Il valore predefinito è 4 MB.
No

Flag speciali

bgwriter

PostgreSQL ha un flag di scrittura in background (bgwriter). Questo flag esegue le scritture di buffer condivisi nuovi o modificati. Questi buffer condivisi sono noti come buffer sporchi. Quando il numero di buffer condivisi puliti non è sufficiente, lo scrittore 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 dallo scrittore in background.

Il valore predefinito per il flag bgwriter è 200 ms. Tuttavia, se scelgo un'unità a stato solido (SSD) di dimensioni superiori 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 saperne di più sullo scrittore 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 utilizzato anche per alcune operazioni di manutenzione per aggirare i controlli dei vincoli (spesso chiavi esterne).

Questo flag può essere impostato in una sessione da qualsiasi utente che abbia impostato la proprietà REPLICATION. 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
Imposti il fuso orario per una sessione, ma questo scade quando esci.

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, 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 visualizzare la variazione del fuso orario, scollega l'istanza e ricollegala.

Passaggi successivi