Configure as flags da base de dados

Esta página descreve como configurar as flags da base de dados para o Cloud SQL e apresenta as flags que pode definir para a sua instância. Usa flags de base de dados para muitas operações, incluindo o ajuste de parâmetros do PostgreSQL, o ajuste de opções e a configuração e o ajuste de uma instância.

Em alguns casos, a definição de uma flag pode exigir que defina outra flag para ativar totalmente a funcionalidade que quer usar.

Quando define, remove ou modifica uma flag para uma instância da base de dados, a base de dados pode ser reiniciada. O valor da flag é, em seguida, mantido para a instância até que o remova. Se a instância for a origem de uma réplica e for reiniciada, a réplica também é reiniciada para se alinhar com a configuração atual da instância.

Configure as flags da base de dados

As secções seguintes abordam tarefas comuns de gestão de denúncias.

Defina uma flag da base de dados

Consola

  1. Na Google Cloud consola, selecione o projeto que contém a instância do Cloud SQL para a qual quer definir uma flag de base de dados.
  2. Abra a instância e clique em Editar.
  3. Aceda à secção Flags.
  4. Para definir uma flag que não tenha sido definida na instância anteriormente, clique em Adicionar item, escolha a flag no menu pendente e defina o respetivo valor.
  5. Clique em Guardar para guardar as alterações.
  6. Confirme as alterações em Sinalizações na página Vista geral.

gcloud

Edite a instância:

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

Este comando substitui todas as flags da base de dados definidas anteriormente. Para manter esses valores e adicionar novos, inclua os valores de todas as flags que quer definir na instância. Qualquer flag não incluída especificamente é definida com o respetivo valor predefinido. Para flags que não aceitam um valor, especifique o nome da flag seguido de um sinal de igual ("=").

Por exemplo, para definir os indicadores log_connections e log_min_error_statement, pode usar o seguinte comando:

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

Terraform

Para adicionar flags de base de dados, use um recurso do 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
}

Aplique as alterações

Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o ficheiro main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Reveja a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expetativas:
    terraform plan

    Faça as correções necessárias à configuração.

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

Eliminar as alterações

Para eliminar as alterações, faça o seguinte:

  1. Para desativar a proteção contra eliminação, no ficheiro de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Aplique a configuração do Terraform atualizada executando o seguinte comando e introduzindo yes no comando:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a sua configuração do Terraform executando o seguinte comando e introduzindo yes no comando:

    terraform destroy

REST v1

Para definir uma flag para uma base de dados existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Se existirem flags configuradas para a base de dados, modifique o comando anterior para as incluir. O comando PATCH substitui as flags existentes pelas especificadas no pedido.

REST v1beta4

Para definir uma flag para uma base de dados existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Se existirem flags configuradas para a base de dados, modifique o comando anterior para as incluir. O comando PATCH substitui as flags existentes pelas especificadas no pedido.

Limpe todas as flags para os respetivos valores predefinidos

Consola

  1. Na Google Cloud consola, selecione o projeto que contém a instância do Cloud SQL para a qual quer limpar todas as flags.
  2. Abra a instância e clique em Editar.
  3. Abra a secção Indicadores da base de dados.
  4. Clique no X junto a todas as denúncias apresentadas.
  5. Clique em Guardar para guardar as alterações.

gcloud

Limpe todos os sinalizadores para os respetivos valores predefinidos numa instância:

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

É-lhe pedido que confirme que a instância vai ser reiniciada.

REST v1

Para limpar todas as flags de uma instância existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

Para limpar todas as flags de uma instância existente:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Veja os valores atuais das flags da base de dados

Para ver todos os valores atuais das definições do PostgreSQL, inicie sessão na sua instância com o cliente psql e introduza a seguinte declaração:

 SELECT name, setting FROM pg_settings;

Tenha em atenção que só pode alterar o valor para flags suportadas (conforme indicado abaixo).

Determine que flags de base de dados foram definidas para uma instância

Para ver que flags foram definidas para uma instância do Cloud SQL:

Consola

  1. Na Google Cloud consola, selecione o projeto que contém a instância do Cloud SQL para a qual quer ver as flags da base de dados que foram definidas.
  2. Selecione a instância para abrir a respetiva página Vista geral da instância.

    As flags da base de dados que foram definidas são apresentadas na secção Flags da base de dados.

gcloud

Veja o estado da instância:

gcloud sql instances describe INSTANCE_NAME

Na saída, as flags da base de dados são apresentadas sob o nome da coleção settings.databaseFlags Para mais informações acerca da representação das flags no resultado, consulte Representação do recurso Instances.

REST v1

Para listar as flags configuradas para uma instância:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Na saída, procure o campo databaseFlags.

REST v1beta4

Para listar as flags configuradas para uma instância:

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Na saída, procure o campo databaseFlags.

Sinalizadores suportados

As flags não mencionadas abaixo não são suportadas.

Para uma determinada flag, o Cloud SQL pode suportar um valor ou um intervalo diferente do parâmetro ou da opção do PostgreSQL correspondente.

A | C | D | E | F | G | H | I | J | L | M | O | P | R | S | T | V | W

Flag do Cloud SQL Tipo
Valores aceitáveis e notas
É necessário reiniciar o dispositivo
?
anon.algorithm String
A predefinição é sha256.
Não
anon.maskschema String
A predefinição é mask.
Não
anon.restrict_to_trusted_schemas boolean
on | off
A opção está desativada por predefinição.
Não
anon.salt String
Não existe um valor predefinido.
Não
anon.sourceschema String
A predefinição é público.
Não
auto_explain.log_analyze boolean
on | off
A opção está desativada por predefinição.
Não
auto_explain.log_buffers boolean
on | off
A opção está desativada por predefinição.
Não
auto_explain.log_min_duration Integer
-1 ... 2147483647
O valor predefinido é -1.
Não
auto_explain.log_format String
text|xml|json|yaml
A predefinição é text.
Não
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
A predefinição é log.
Suportado no PostgreSQL 12 e superior.
Não
auto_explain.log_nested_statements boolean
on | off
A opção está desativada por predefinição.
Não
auto_explain.log_settings boolean
on | off
A predefinição é desativada.
Suportado no PostgreSQL 12 e superior.
Não
auto_explain.log_timing boolean
on | off
A predefinição é ativada.
Não
auto_explain.log_triggers boolean
on | off
A opção está desativada por predefinição.
Não
auto_explain.log_wal boolean
on | off
A predefinição é desativada.
Suportado no PostgreSQL 13 e superior.
Não
auto_explain.log_verbose boolean
on | off
A opção está desativada por predefinição.
Não
auto_explain.sample_rate Float
0 ... 1
A predefinição é 1.
Não
autovacuum boolean
on | off
A predefinição é ativada.
Para informações de utilização que possam afetar o SLA, consulte as diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL.
Não
autovacuum_analyze_scale_factor float
0100
A predefinição é 0,1.
Não
autovacuum_analyze_threshold integer
0 ... 2147483647
O valor predefinido é 50.
Não
autovacuum_freeze_max_age integer
100000 ... 2000000000
A predefinição é 200000000.
Para informações de utilização que possam afetar o SLA, consulte as diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL.
Sim
autovacuum_max_workers integer
1 ... varies (see note)
A predefinição é 3.
Sim
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
A predefinição é 400000000.
Para informações de utilização que possam afetar o SLA, consulte as diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL.
Sim
autovacuum_naptime integer
1 ... 2147483s
A predefinição é 60s.
Não
autovacuum_vacuum_cost_delay integer
0100 ms ou -1 para usar o valor vacuum_cost_delay
Para o PostgreSQL 9.6, 10 e 11, o valor predefinido é 2 ms.
Não
autovacuum_vacuum_cost_limit integer
0 10000 ou -1 para usar o valor vacuum_cost_limit
A predefinição é -1.
Não
autovacuum_vacuum_insert_scale_factor float
0 ... 100
A predefinição é 0,2.
Não
autovacuum_vacuum_insert_threshold integer
-1 ... 2147483647
O valor predefinido é 1000.
Não
autovacuum_vacuum_scale_factor float
0 ... 100
A predefinição é 0,2.
Não
autovacuum_vacuum_threshold integer
0 ... 2147483647
O valor predefinido é 50.
Não
autovacuum_work_mem integer
02147483647 KB ou -1 para usar o valor maintenance_work_mem
A predefinição é -1.
Não
backend_flush_after integer
0 ... 256
A unidade tem 8 KB.
A predefinição é 0.
Não
bgwriter_delay integer
10 ... 10000 ms
O valor predefinido é 200.
Não
bgwriter_flush_after integer
0 ... 256
A unidade tem 8 KB.
A predefinição é 64.
Não
bgwriter_lru_maxpages integer
0 ... 1073741823
O valor predefinido é 100.
Não
bgwriter_lru_multiplier Float
0 ... 10
A predefinição é 2.
Não
checkpoint_completion_target float
0.01.0
O valor predefinido é 0,9.
Não
checkpoint_flush_after integer
0256 A unidade é 8 KB.

A predefinição é 32.
Não
checkpoint_timeout integer
30 ... 86,400s
A predefinição é 300s.
Para informações de utilização que possam afetar o SLA, consulte as diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL.
Não
checkpoint_warning integer
0 ... 2147483647s
A predefinição é 30s.
Não
client_connection_check_interval integer
0 ... 2147483647
A predefinição é 0.
Não
cloudsql.allow_passwordless_local_connections boolean
on | off
A predefinição é off.
Não
cloudsql.enable_anon boolean
on | off
A predefinição é off.
Não
cloudsql.enable_auto_explain boolean
on | off
A predefinição é off.
Sim
cloudsql.enable_index_advisor boolean
on | off
A predefinição é off.
Sim
cloudsql.enable_maintenance_mode boolean
on | off
A predefinição é off.
Sim
cloudsql.enable_pgaudit boolean
on | off
A predefinição é desativada.
Sim
cloudsql.enable_pg_bigm boolean
on | off
default: off
Sim
cloudsql.enable_pg_cron boolean
on | off
A predefinição é off.
Suportado no PostgreSQL 10 e superior.
Sim
cloudsql.enable_pg_hint_plan boolean
on | off
A predefinição é off.
Sim
cloudsql.enable_pglogical boolean
on | off
A predefinição é off.
Sim
cloudsql.enable_pg_squeeze boolean
on | off
A predefinição é off.
Sim
cloudsql.enable_pg_wait_sampling boolean
on | off
Sim
cloudsql.iam_authentication boolean
on | off
A predefinição é off.
Não
cloudsql.logical_decoding boolean
on | off
A predefinição é off.
Sim
cloudsql.max_failed_attempts_user integer
0 ... 10000
O valor predefinido é 10.
Sim
cloudsql.pg_authid_select_role string
Não
commit_delay integer
0 ... 100000
A predefinição é 0.
Não
commit_siblings integer
0 ... 1000
A predefinição é 5.
Não
constraint_exclusion enumeration
partition | on | off
O valor predefinido é partition.
Não
cpu_index_tuple_cost float
0.0inf
O valor predefinido é 0,005.
Não
cpu_operator_cost float
0.0 ... inf
A predefinição é 0,0025.
Não
cpu_tuple_cost float
0.0 ... inf
A predefinição é 0,01.
Não
cron.database_name String.
Suportado no PostgreSQL 10 e superior.
Sim
cron.log_statement boolean
on | off
A predefinição é ativada.
Suportado no PostgreSQL 10 e superior.
Sim
cron.log_run boolean
on | off
A predefinição é ativada.
Suportado no PostgreSQL 10 e superior.
Sim
cron.max_running_jobs Integer
0 ... varies
A predefinição é 5.
Suportado no PostgreSQL 10 e superior.
Sim
cron.log_min_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
O valor predefinido é aviso.
Suportado no PostgreSQL 10 e superior.
Não
cursor_tuple_fraction float
0.01.0
A predefinição é 0,1.
Não
deadlock_timeout integer
1 ... 2147483647 ms
A predefinição é 1000 ms.
Não
default_statistics_target integer
1 ... 10000
O valor predefinido é 100.
Não
default_tablespace string Não
default_transaction_deferrable boolean
on | off
A predefinição é desativada.
Não
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
A predefinição é "read committed".
Não
effective_cache_size integer
O intervalo de tamanho é de 10% a 70% da memória da instância.
A unidade tem 8 KB.
A predefinição é 40% da memória da VM. Por exemplo, para uma memória de instância de 45 GB, o valor predefinido é 18537160 KB.
Não
effective_io_concurrency integer
01000
O valor predefinido é 1.
Não
enable_async_append boolean
on | off
A predefinição é ativada.
Não
enable_bitmapscan boolean
on | off
A predefinição é ativada.
Não
enable_gathermerge boolean
on | off
A predefinição é ativada.
Não
enable_incremental_sort boolean
on | off
A predefinição é ativada.
Não
enable_memoize boolean
on | off
A predefinição é ativada.
Não
enable_parallel_append boolean
on | off
A predefinição é ativada.
Não
enable_parallel_hash boolean
on | off
A predefinição é ativada.
Não
enable_partition_pruning boolean
on | off
A predefinição é ativada.
Não
enable_partitionwise_aggregate boolean
on | off
A predefinição é desativada.
Não
enable_partitionwise_join boolean
on | off
A predefinição é desativada.
Não
enable_hashagg boolean
on | off
A predefinição é ativada.
Não
enable_hashjoin boolean
on | off
A predefinição é ativada.
Não
enable_indexonlyscan boolean
on | off
A predefinição é ativada.
Não
enable_indexscan boolean
on | off
A predefinição é ativada.
Não
enable_material boolean
on | off
A predefinição é ativada
Não
enable_mergejoin boolean
on | off
A predefinição é ativada.
Não
enable_nestloop boolean
on | off
A predefinição é ativada.
Não
enable_seqscan boolean
on | off
A predefinição é ativada.
Não
enable_sort boolean
on | off
A predefinição é ativada.
Não
enable_tidscan boolean
on | off
A predefinição é ativada.
Não
force_parallel_mode enumeration
off | on | regress
A predefinição é desativada.
Não
from_collapse_limit integer
1 ... 2147483647
A predefinição é 8.
Não
geqo boolean
on | off
A predefinição é ativada.
Não
geqo_effort integer
1 ... 10
A predefinição é 5.
Não
geqo_generations integer
0 ... 2147483647
A predefinição é 0.
Não
geqo_pool_size integer
0 ... 2147483647
A predefinição é 0.
Não
geqo_seed float
0.0 ... 1.0
A predefinição é 0.
Não
geqo_selection_bias float
1.5 ... 2.0
A predefinição é 2.
Não
geqo_threshold integer
2 ... 2147483647
A predefinição é 12.
Não
gin_fuzzy_search_limit integer
0 ... 2147483647
A predefinição é 0.
Não
gin_pending_list_limit integer
64 ... 2147483647KB
A predefinição é 4096 KB.
Não
hash_mem_multiplier float
1 ... 1000
A predefinição é 2.
Não
hot_standby_feedback boolean
on | off
A predefinição é desativada.
Não
huge_pages enumeration
try | off
A predefinição é try.
Sim
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
A predefinição é 0.
Não
ivfflat.probes integer
1varies
O valor predefinido é 1.
Suportado no PostgreSQL 11 e superior.
Não
join_collapse_limit integer
1 ... 2147483647
A predefinição é 8.
Não
local_preload_libraries String
Esta flag permite-lhe especificar uma ou mais bibliotecas partilhadas que são pré-carregadas no início de uma ligação à base de dados, numa lista separada por vírgulas.
Não
lock_timeout integer
0 ... 2147483647 ms
A predefinição é 0.
Não
log_autovacuum_min_duration integer
02147483647 ms ou -1 para desativar
A predefinição é 0.
Não
log_checkpoints boolean
on | off
A predefinição é desativada.
Não
log_connections boolean
on | off
A predefinição é desativada.
Não
log_disconnections boolean
on | off
A predefinição é desativada.
Não
log_duration boolean
on | off
A predefinição é desativada.
Não
log_error_verbosity enumeration
terse | default | verbose
A predefinição é predefinição.
Não
log_executor_stats boolean
on | off
A predefinição é desativada.
Não
log_hostname boolean
on | off
A predefinição é desativada.
Não
log_line_prefix String
Uma string no estilo printf gerada no início de cada linha de um ficheiro de registo.
A predefinição é %m [%p]: [%l-1] db=%d,user=%u, que regista a data/hora, o ID do processo, a base de dados e o nome de utilizador.
Não
log_lock_waits boolean
on | off
A predefinição é desativada.
Não
log_min_duration_statement integer
-1 ... 2147483647 ms
A predefinição é -1.
Não
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
A predefinição é erro.
Não
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
A predefinição é aviso.
Não
log_parser_stats boolean
on | off
A predefinição é desativada.
Não
log_planner_stats boolean
on | off
A predefinição é desativada.
Não
log_recovery_conflict_waits boolean
on | off
A predefinição é desativada.
Não
log_replication_commands boolean
on | off
A predefinição é desativada.
Não
log_statement enumeration
none | ddl | mod | all
Definido como mod para registar todas as declarações de linguagem de definição de dados (DDL), além das declarações de modificação de dados, como INSERT, UPDATE, DELETE, TRUNCATE
A predefinição é none.
Não
log_statement_stats boolean
on | off
Pode não estar ativada juntamente com log_parser_stats, log_planner_stats ou log_executor_stats.
A predefinição é desativada.
Não
log_temp_files integer
02147483647 KB ou -1 para desativar
A predefinição é 0.
Não
log_timezone string
Esta flag oferece aos utilizadores do Cloud SQL para PostgreSQL uma forma de definir o fuso horário usado para as datas/horas que são escritas no registo do servidor.

Especifica os fusos horários por nome. Por exemplo, Europe/London é o nome do fuso horário de Londres.

Tem de atualizar esta flag manualmente na instância principal e em todas as réplicas de leitura para a ter em conta.

Os nomes dos fusos horários não são sensíveis a maiúsculas e minúsculas. Pode fornecer o nome do fuso horário em qualquer caso.

Suportamos UTC+X como um formato válido para esta flag, em que X é +/-HH:MM.

Sim
logical_decoding_work_mem integer
64 ... 2147483647
O valor predefinido é 65536.
Não
maintenance_io_concurrency integer
0 ... 1000
O valor predefinido é 10.
Não
maintenance_work_mem integer
10242147483647 KB
O valor predefinido é 64 MB.
Não
max_connections integer
14 ... varies (see note)
O valor predefinido depende da quantidade de memória da maior instância na cadeia de instâncias principais (esta instância e, se for uma réplica de leitura, a respetiva instância principal, a instância principal da instância principal, etc., até à raiz da árvore de replicação).
Memória (GB) na maior instânciaValor predefinido
muito curta (~0,5)25
pequeno (~1,7)50
de 3,75 a < 6100
de 6 a < 7,5200
de 7,5 a < 15400
de 15 a < 30500
de 30 a < 60600
de 60 a < 120800
>=1201000

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que têm um valor inferior ao novo valor no elemento principal ou que não foram alteradas a partir do valor predefinido. Essas alterações no servidor principal fazem com que a réplica seja reiniciada.

Sim
max_locks_per_transaction integer
10 ... 2,147,483,647
O valor predefinido é 64.

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que têm um valor inferior ao novo valor no elemento principal ou que não foram alteradas a partir do valor predefinido. Essas alterações no servidor principal fazem com que a réplica seja reiniciada.

Sim
max_logical_replication_workers integer
4 ... 8192
A predefinição é 4.
Suportado no PostgreSQL 10 e superior.
Sim
max_parallel_maintenance_workers integer
0 ... varies
A predefinição é 2.
Suportado no PostgreSQL 11 e superior.

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que tenham um valor inferior ao novo valor no elemento principal ou que não tenham sido alteradas a partir do valor predefinido.

Se o valor no elemento principal for default, não é possível alterar o valor das réplicas. Para alterar o valor das réplicas, primeiro, defina o valor no elemento principal como um número inteiro.

Não
max_parallel_workers integer
0 ... varies
A predefinição é 8.
Suportado no PostgreSQL 10 e superior.

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que tenham um valor inferior ao novo valor no elemento principal ou que não tenham sido alteradas a partir do valor predefinido.

Se o valor no elemento principal for default, não é possível alterar o valor das réplicas. Para alterar o valor das réplicas, primeiro, defina o valor no elemento principal como um número inteiro.

Não
max_parallel_workers_per_gather integer
0 ... varies
A predefinição é 2.

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que tenham um valor inferior ao novo valor no elemento principal ou que não tenham sido alteradas a partir do valor predefinido.

Se o valor no elemento principal for default, não é possível alterar o valor das réplicas. Para alterar o valor das réplicas, primeiro, defina o valor no elemento principal como um número inteiro.

Não
max_pred_locks_per_page integer
0 ... 2147483647
A predefinição é 2.
Suportado no PostgreSQL 10 e superior.
Não
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
A predefinição é -2.
Suportado no PostgreSQL 10 e superior.
Não
max_pred_locks_per_transaction integer
64 ... 1048576
Sim
max_prepared_transactions integer
0varies
Tamanho da memória (MB)Valor máx.
0 - 384030 000
3840 - 768085 000
7680 - 15 360200 000
15 360 e superior262 000

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que têm um valor inferior ao novo valor no elemento principal ou que não foram alteradas a partir do valor predefinido. Essas alterações no servidor principal fazem com que a réplica seja reiniciada.

Sim
max_replication_slots integer
10 ... varies
A predefinição é 10.
Sim
max_standby_archive_delay integer
02147483647 ms, ou -1 para esperar indefinidamente
Não
max_standby_streaming_delay integer
02147483647 ms ou -1 para esperar indefinidamente
Não
max_sync_workers_per_subscription integer
2 ... 64
Não pode ser superior a max_logical_replication_workers.
Não
max_wal_senders integer
10 ... varies
A predefinição é 10.

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que têm um valor inferior ao novo valor no elemento principal ou que não foram alteradas a partir do valor predefinido. Essas alterações no servidor principal fazem com que a réplica seja reiniciada.

Sim
max_wal_size integer
22147483647

A unidade é de 16 MB (o tamanho do ficheiro WAL) para a versão 9.6 e de 1 MB para o PostgreSQL 10 e superior.

O valor predefinido é 1504 MB se a memória da instância for igual ou superior a 3.75 GB. O valor predefinido é 1 GB se a memória da instância for inferior a 3.75 GB.

Para informações de utilização que possam afetar o SLA, consulte as Diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL.
Não
max_worker_processes integer
8 ... varies

O valor nas réplicas tem de ser superior ou igual ao valor no primário. As alterações no elemento principal propagam-se às réplicas que têm um valor inferior ao novo valor no elemento principal ou que não foram alteradas a partir do valor predefinido. Essas alterações no servidor principal fazem com que a réplica seja reiniciada.

Sim
min_parallel_index_scan_size integer
0715827882 A unidade tem
KB8
Não
min_parallel_table_scan_size integer
0715827882 A unidade tem
KB8
Não
min_parallel_relation_size integer
0 ... 715827882
A unidade é 8 KB
Suportado apenas no PostgreSQL 9.6.
Não
min_wal_size integer
322147483647

A unidade é de 16 MB (o tamanho do ficheiro WAL) para a versão 9.6 e de 1 MB para o PostgreSQL 10 e superior.

Não
old_snapshot_threshold integer
0 ... 86400 min ou -1 para desativar
A predefinição é -1.
Sim
parallel_setup_cost float
0.0 ... inf
O valor predefinido é 1000.
Não
parallel_tuple_cost float
0.0inf
A predefinição é 0,1.
Não
password_encryption enumeration
md5 | scram-sha-256

A predefinição depende da versão do PostgreSQL. Para as versões 10 a 13 do PostgreSQL, o valor predefinido é md5. Para o PostgreSQL 14 e superior, a predefinição é scram-sha-256.

Não
pg_bigm.enable_recheck boolean
on | off
Não
pg_bigm.gin_key_limit integer
02147483647
Não
pg_bigm.similarity_limit float
0.01.0
Não
pg_hint_plan.enable_hint boolean
on | off
A predefinição é ativada.
Não
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
A predefinição é desativada.
Não
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
A predefinição é info.
Não
pg_hint_plan.message_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
A predefinição é log.
Não
pg_hint_plan.enable_hint_table boolean
on | off
A opção está desativada por predefinição.
Não
pglogical.batch_inserts boolean
on | off
A predefinição é off.
Sim
pglogical.conflict_log_level String
A predefinição é LOG.
Esta sinalização aceita os mesmos valores que log_min_messages.
Não
pglogical.conflict_resolution String
error|apply_remote|keep_local|last_update_wins|first_update_wins A predefinição é apply_remote.
Não
pglogical.extra_connection_options String
Aceita strings de ligação de palavras-chave/valores do PostgreSQL.

A predefinição é a string vazia.
Não
pglogical.synchronous_commit boolean
on | off
A predefinição é on.
Sim
pglogical.use_spi boolean
on | off
A predefinição é off.
Sim
pg_stat_statements.max integer
100 ... 2147483647
O valor predefinido é 5000.
Sim
pg_stat_statements.save boolean
on | off
A predefinição é ativada.
Não
pg_stat_statements.track enumeration
none | top | all
A predefinição é superior.
Não
pg_stat_statements.track_utility boolean
on | off
A predefinição é ativada.
Não
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

Pode fornecer várias classes através de uma lista separada por vírgulas e subtrair uma classe antepondo-lhe o sinal -. A predefinição é none.

Não
pgaudit.log_catalog boolean
on | off
O valor predefinido é on.
Não
pgaudit.log_client boolean
on | off
O valor predefinido é off.
Não
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log
A predefinição é log. Além disso, pgaudit.log_level só está ativado quando pgaudit.log_client está ativado.
Não
pgaudit.log_parameter boolean
on | off
O valor predefinido é off.
Não
pgaudit.log_relation boolean
on | off
O valor predefinido é off.
Não
pgaudit.log_statement_once boolean
on | off
O valor predefinido é off.
Não
pgaudit.role string
Não existe uma predefinição.
Não
pgaudit.log_rows boolean
A opção está desativada por predefinição.
Não
pgtt.enabled boolean
on | off
A predefinição é ativada.
Não
pg_wait_sampling.history_period integer
12147483647
Não
pg_wait_sampling.history_size integer
12147483647
Não
pg_wait_sampling.profile_period integer
12147483647
Não
pg_wait_sampling.profile_pid boolean
on | off
Não
pg_wait_sampling.profile_queries boolean
on | off
Não
random_page_cost float
0.0 ... inf
A predefinição é 4.
Não
plan_cache_mode

String
auto|force_generic_plan|force_custom_plan
A predefinição é auto.
Não
rdkit.agent_FP_bit_ratio float
03
Não
rdkit.avalon_fp_size integer
649192
Não
rdkit.dice_threshold float
01
Não
rdkit.difference_FP_weight_agents integer
-1010
Não
rdkit.difference_FP_weight_nonagents integer
120
Não
rdkit.do_chiral_sss boolean
on | off
Não
rdkit.do_enhanced_stereo_sss boolean
on | off
Não
rdkit.featmorgan_fp_size integer
649192
Não
rdkit.hashed_atompair_fp_size integer
649192
Não
rdkit.hashed_torsion_fp_size integer
649192
Não
rdkit.ignore_reaction_agents boolean
on | off
Não
rdkit.init_reaction boolean
on | off
Não
rdkit.layered_fp_size integer
649192
Não
rdkit.morgan_fp_size integer
649192
Não
rdkit.move_unmmapped_reactants_to_agents boolean
on | off
Não
rdkit.rdkit_fp_size integer
649192
Não
rdkit.reaction_difference_fp_size integer
649192
Não
rdkit.reaction_difference_fp_type integer
13
Não
rdkit.reaction_sss_fp_size integer
649192
Não
rdkit.reaction_sss_fp_type integer
15
Não
rdkit.sss_fp_size integer
644096
Não
rdkit.tanimoto_threshold float
01
Não
rdkit.threshold_unmapped_reactant_atoms float
01
Não
replacement_sort_tuples integer
0 ... 2147483647
Não
session_replication_role enumeration
origin | replica | local
Só pode ser definido na sessão atual
-
seq_page_cost float
0.0 ... inf
O valor predefinido é 1,0.
Não
shared_buffers integer
O intervalo de tamanho é de 10% a 60% da memória da instância.
A unidade tem 8 KB.
A predefinição é um terço da memória total da VM da instância (em MB). Por exemplo, para 45 GB de memória da instância, o valor predefinido é 15085 MB.
Sim
squeeze.max_xlock_time integer
12147483647
Não
squeeze.worker_autostart string
Sim
squeeze.worker_role string
Sim
ssl_max_protocol_version enumeration
Postgres 14: define a versão máxima do protocolo SSL/TLS a usar. Os valores válidos são os mesmos que para ssl_min_protocol_version, com a adição de uma string vazia, que permite especificar qualquer versão do protocolo.
Suportado no PostgreSQL 12 e superior.
Não
ssl_min_protocol_version enumeration
Postgres 14: define a versão mínima do protocolo SSL/TLS a usar. Atualmente, os valores válidos são: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3.
A predefinição é TLSv1.
Suportado no PostgreSQL 12 e superior.
Não
standard_conforming_strings boolean
on | off
A predefinição é ativada.
Não
synchronize_seqscans boolean
on | off
A predefinição é ativada.
Não
tcp_keepalives_count integer
0 ... 2147483647
A predefinição é 5.
Não
tcp_keepalives_idle integer
0 ... 2147483647
A predefinição é 60.
Não
tcp_keepalives_interval integer
0 ... 2147483647
A predefinição é 60.
Não
temp_buffers integer
1001,073,741,823
A unidade tem 8 KB
Não
temp_file_limit integer
10485762147483647 KB
A predefinição é 10% do tamanho inicial do disco. Por exemplo, para um disco de 100 GB, o valor predefinido é 10262623 KB.
Não
TimeZone string
Esta flag oferece aos utilizadores do Cloud SQL para PostgreSQL uma forma de definir o fuso horário para apresentar e analisar as datas/horas.

Especifica os fusos horários por nome. Por exemplo, Europe/London é o nome do fuso horário de Londres.

Tem de atualizar esta flag manualmente na instância principal e em todas as réplicas de leitura para a ter em conta.

Os nomes dos fusos horários não são sensíveis a maiúsculas e minúsculas. Pode fornecer o nome do fuso horário em qualquer caso.

Suportamos UTC+X como um formato válido para esta flag, em que X é +/-HH.

Sim
trace_notify boolean
on | off
A predefinição é desativada.
Não
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
A predefinição é log.
Não
trace_sort boolean
on | off
A predefinição é desativada.
Não
track_activities boolean
on | off
A predefinição é ativada.
Não
track_activity_query_size integer
100102400
O valor predefinido é 1 KB.
Sim
track_commit_timestamp boolean
on | off
A predefinição é desativada.
Sim
track_counts boolean
on | off
A predefinição é ativada.
Não
track_functions enumeration
none | pl | all
A predefinição é none.
Não
track_io_timing boolean
on | off
A predefinição é desativada.
Não
vacuum_cost_delay integer
0 ... 100 ms
A predefinição é 0.
Não
vacuum_cost_limit integer
1 ... 10000
A predefinição é 200.
Não
vacuum_cost_page_dirty integer
0 ... 10000
A predefinição é 20.
Não
vacuum_cost_page_hit integer
010000
O valor predefinido é 1.
Não
vacuum_cost_page_miss integer
0 ... 10000
O valor predefinido é 10.
Não
vacuum_failsafe_age integer
02100000000
O valor predefinido é 1600000000.
Não
vacuum_freeze_min_age integer
0 ... 1000000000
A predefinição é 50000000.
Não
vacuum_freeze_table_age integer
0 ... 2000000000
O valor predefinido é 150000000.
Não
vacuum_multixact_failsafe_age integer
02100000000
O valor predefinido é 1600000000.
Não
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
O valor predefinido é 5000000.
Não
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
O valor predefinido é 150000000.
Não
wal_buffers integer
O intervalo de tamanho é de -1 a 5% da memória da instância.
A unidade tem 8 KB.
O valor predefinido é 16 MB.
Sim
wal_compression enumeration
off | on | pglz | lz4 | zstd
A predefinição é desativada.
Não
wal_receiver_timeout integer
0 ... 2147483647
A predefinição é 60 segundos.

Esta flag afeta o remetente e o destinatário do WAL. Se não estiver definido corretamente, este indicador afeta a replicação lógica e física. Esta flag também afeta o desempenho e a latência da replicação. Um valor de zero desativa o mecanismo de limite de tempo. A unidade é milissegundos.

Não
wal_sender_timeout integer
0 ... 2147483647
A predefinição é 60 segundos.

Esta flag afeta o remetente e o destinatário do WAL. Se não for definida corretamente, esta flag afeta a replicação lógica e física. Esta flag também afeta o desempenho e a latência da replicação. Um valor de zero desativa o mecanismo de limite de tempo. A unidade é milissegundos.

Não
wal_writer_delay integer
1 ... 10000
A predefinição é 200.
Não
wal_writer_flush_after integer
0 ... 2147483647
O valor predefinido é 128.
Não
work_mem integer
642147483647 KB
O valor predefinido é 4 MB.
Não

Sinalizações especiais

bgwriter

O PostgreSQL tem uma flag de gravação em segundo plano (bgwriter). Este indicador emite gravações de buffers partilhados novos ou modificados. Estes buffers partilhados são conhecidos como buffers sujos. Quando o número de buffers partilhados limpos é insuficiente, o escritor em segundo plano escreve buffers sujos no sistema de ficheiros e marca-os como limpos.

Duas flags associadas à flag bgwriter são bgwriter_delay e bgwriter_lru_maxpages. bgwriter_delay especifica o atraso entre as rondas de atividade para o escritor de fundo em milissegundos (ms) e bgwriter_lru_maxpages especifica quantos buffers serão escritos pelo escritor de fundo.

O valor predefinido para a flag bgwriter é 200 ms. No entanto, se selecionar uma unidade de estado sólido (SSD) com mais de 500 GB, o valor da flag bgwriter_delay é definido como 50 e o valor da flag bgwriter_lru_maxpages é definido como 200.

Para mais informações sobre o background writer, consulte a documentação do PostgreSQL.

session_replication_role

O PostgreSQL tem a flag session_replication_role, que foi concebida para ser usada para replicação lógica e permite desativar acionadores de restrições em sessões individuais.

Por vezes, esta flag também pode ser usada para algumas operações de manutenção para contornar as verificações de restrições (mais frequentemente, chaves externas).

Esta flag pode ser definida numa sessão por qualquer utilizador que tenha a propriedade definida.REPLICATION A propriedade REPLICATION para qualquer utilizador pode ser definida por cloudsqlsuperuser quando uma das flags cloudsql.enable_pglogical ou cloudsql.logical_decoding é definida para a instância.

Não é possível definir esta flag para toda a instância.

Resolução de problemas

Problema Resolução de problemas
Define o fuso horário de uma sessão, mas este expira quando termina sessão.

Faça a ligação à base de dados e defina o fuso horário da base de dados como o pretendido, por utilizador ou por base de dados.

No Cloud SQL para PostgreSQL, pode especificar o seguinte. Estas definições permanecem após o fecho de uma sessão, simulando uma configuração de .conf:

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

Estas definições aplicam-se apenas a novas ligações à base de dados. Para ver a alteração ao fuso horário, desassocie-se da instância e, em seguida, volte a associar-se à mesma.

O que se segue?