Configurar sinalizações do banco de dados

Nesta página, descrevemos como configurar sinalizações de banco de dados para o Cloud SQL e listamos as sinalizações que podem ser definidas para sua instância. Você usa sinalizações de banco de dados em muitas operações, como no ajuste dos parâmetros do PostgreSQL, das opções e na configuração e nos ajustes de uma instância.

Em alguns casos, para configurar uma sinalização pode ser necessário configurar outra para ativar toda a funcionalidade desejada.

Ao definir, remover ou mudar uma sinalização para uma instância de banco de dados, ele pode ser reiniciado. O valor da sinalização persiste nessa instância até você removê-lo. Se a instância for a origem de uma réplica e a instância for reiniciada, a réplica também será reiniciada para se alinhar com a configuração atual da instância.

Configurar sinalizações do banco de dados

Definir uma sinalização do banco de dados

Console

  1. No Console do Google Cloud, selecione o projeto que contém a instância do Cloud SQL para a qual você quer definir uma sinalização de banco de dados.
  2. Abra a instância e clique em Editar.
  3. Role a tela para baixo até a seção Sinalizações.
  4. Para definir uma sinalização que ainda não tenha sido definida, clique em Adicionar item, selecione a sinalização no menu suspenso e defina o valor.
  5. Clique em Salvar para salvar as alterações.
  6. Confirme as alterações em Sinalizações, na página "Visão geral".

gcloud

Edite a instância:

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

Esse comando substituirá todas as sinalizações do banco de dados definidas anteriormente. Para manter essas sinalizações e adicionar novas, inclua os valores de todas as que você quiser configurar na instância. Qualquer sinalização não incluída especificamente será definida com o valor padrão. Para sinalizações sem valor, especifique o nome da sinalização seguido de um sinal de igual ("=").

Por exemplo, para definir os sinalizadores log_connections e log_min_error_statement use o seguinte comando:

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

Terraform

Para adicionar sinalizações do banco 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 em um projeto do Google Cloud, conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.

    Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.

Preparar o diretório

Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.

  1. No Cloud Shell, crie um diretório e um novo arquivo dentro dele. O nome do arquivo precisa ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o arquivo é chamado de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.

    Copie o exemplo de código no main.tf recém-criado.

    Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
    terraform init

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

    terraform init -upgrade

Aplique as alterações

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

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

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.

Excluir as alterações

Para excluir as mudanças, faça o seguinte:

  1. Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes no prompt:

    terraform destroy

REST v1

Para definir uma sinalização de um banco de dados atual:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Se houver sinalizações para o banco de dados, modifique o comando anterior para incluí-las. O comando PATCH substitui as sinalizações existentes pelas especificadas na solicitação.

REST v1beta4

Para definir uma sinalização de um banco de dados atual:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Se houver sinalizações para o banco de dados, modifique o comando anterior para incluí-las. O comando PATCH substitui as sinalizações existentes pelas especificadas na solicitação.

Redefinir todas as sinalizações para o valor padrão

Console

  1. No Console do Google Cloud, selecione o projeto que contém a instância do Cloud SQL para que você quer limpar todas as sinalizações.
  2. Abra a instância e clique em Editar.
  3. Abra a seção Sinalizações do banco de dados.
  4. Clique no X ao lado de todas as sinalizações exibidas.
  5. Clique em Salvar para salvar as alterações.

gcloud

Redefina todas as sinalizações ao valor padrão em uma instância:

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

Confirme se a instância será reiniciada.

REST v1

Para apagar todas as sinalizações de uma instância existente:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

Para apagar todas as sinalizações de uma instância existente:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Ver os valores atuais das sinalizações do banco de dados

Para visualizar todos os valores atuais das configurações do PostgreSQL, faça login na instância com o cliente psql e insira a seguinte instrução:

 SELECT name, setting FROM pg_settings;

É possível alterar o valor somente para sinalizações compatíveis (conforme listado abaixo).

Determinar quais sinalizações do banco de dados foram configuradas para uma instância

Para ver quais sinalizações foram definidas para uma instância do Cloud SQL:

Console

  1. No Console do Google Cloud, selecione o projeto que contém a instância do Cloud SQL para a qual você quer ver as sinalizações do banco de dados que foram definidas.
  2. Selecione a instância para abrir a página Visão geral da instância.

    As sinalizações do banco de dados que foram configuradas estão listadas na seção Sinalizações do banco de dados.

gcloud

Veja o estado da instância:

gcloud sql instances describe INSTANCE_NAME

Na saída, as sinalizações do banco de dados são listados no settings como a coleção databaseFlags. Para saber mais sobre a representação das sinalizações na saída, consulte Representação do recurso das instâncias.

REST v1

Para listar as configurações de uma instância:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Na saída, procure o campo databaseFlags.

REST v1beta4

Para listar as configurações de uma instância:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Na saída, procure o campo databaseFlags.

Sinalizações aceitas

As sinalizações não mencionadas abaixo não são compatíveis.

Para uma determinada sinalização, o Cloud SQL pode aceitar um valor ou faixa diferente do parâmetro ou da opção correspondente do PostgreSQL.

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

Sinalização do Cloud SQL Digite
Valores e notas aceitáveis
Necessário
reiniciar?
anon.algorithm String
O padrãoo é sha256.
Não
anon.maskschema String
O padrão é mask.
Não
anon.restrict_to_trusted_schemas boolean
on | off
Esse recurso fica desativado por padrão.
Não
anon.salt String
Não há valor padrão.
Não
anon.sourceshema String
O padrão é public.
Não
auto_explain.log_analyze boolean
on | off
Esse recurso fica desativado por padrão.
Não
auto_explain.log_buffers boolean
on | off
Esse recurso fica desativado por padrão.
Não
auto_explain.log_min_duration Integer
-1 ... 2147483647
O padrão é -1.
Não
auto_explain.log_format String
text|xml|json|yaml
O padrão é text.
Não
auto_explain.log_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
O padrão é log.
Compatível com o PostgreSQL 12 e versões mais recentes.
Não
auto_explain.log_nested_statements boolean
on | off
Esse recurso fica desativado por padrão.
Não
auto_explain.log_settings boolean
on | off
O padrão é desativado.
Compatível com PostgreSQL 12 e versões mais recentes.
Não
auto_explain.log_timing boolean
on | off
O padrão é ativado.
Não
auto_explain.log_triggers boolean
on | off
Esse recurso fica desativado por padrão.
Não
auto_explain.log_wal boolean
on | off
O padrão é desativado.
Compatível com PostgreSQL 13 e versões mais recentes.
Não
auto_explain.log_verbose boolean
on | off
Esse recurso fica desativado por padrão.
Não
auto_explain.sample_rate Float
0 ... 1
O padrão é 1.
Não
autovacuum boolean
on | off
O padrão é ativado.
Para informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais de instâncias do Cloud SQL para PostgreSQL.
Não
autovacuum_analyze_scale_factor float
0 ... 100
O padrão é 0.1.
Não
autovacuum_analyze_threshold integer
0 ... 2147483647
O padrão é 50.
Não
autovacuum_freeze_max_age integer
100000 ... 2000000000
O padrão é 200000000.
Para informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais de instâncias do Cloud SQL para PostgreSQL.
Sim
autovacuum_max_workers integer
1 ... varies (see note)
O padrão é 3.
Sim
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
O padrão é 400000000.
Para informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais de instâncias do Cloud SQL para PostgreSQL.
Sim
autovacuum_naptime integer
1 ... 2147483s
O padrão é 60s.
Não
autovacuum_vacuum_cost_delay integer
0 ... 100 ms ou -1 para usar o valor vacuum_cost_delay
Para PostgreSQL 9.6, 10 e 11, o valor padrão é 2 ms.
Não
autovacuum_vacuum_cost_limit integer
0 ... 10000 ou -1 para usar o valor vacuum_cost_limit
O padrão é -1.
Não
autovacuum_vacuum_insert_scale_factor float
0 ... 100
O padrão é 0.2.
Não
autovacuum_vacuum_insert_threshold integer
-1 ... 2147483647
O padrão é 1000.
Não
autovacuum_vacuum_scale_factor float
0 ... 100
O padrão é 0.2.
Não
autovacuum_vacuum_threshold integer
0 ... 2147483647
O padrão é 50.
Não
autovacuum_work_mem integer
0 ... 2147483647 KB ou -1 para usar o valor maintenance_work_mem
O padrão é -1.
Não
checkpoint_completion_target float
0.0 ... 1.0
O padrão é 0.9.
Não
checkpoint_timeout integer
30 ... 86,400s
O padrão é 300s.
Para informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais de instâncias do Cloud SQL para PostgreSQL.
Não
checkpoint_warning integer
0 ... 2147483647s
O padrão é 30s.
Não
cloudsql.allow_passwordless_local_connections boolean
on | off
O padrão é off.
Não
cloudsql.enable_anon boolean
on | off
O padrão é off.
Não
cloudsql.enable_auto_explain boolean
on | off
O padrão é off.
Sim
cloudsql.enable_maintenance_mode boolean
on | off
O padrão é off.
Sim
cloudsql.enable_pgaudit boolean
on | off
O padrão é desativado.
Sim
cloudsql.enable_pg_bigm boolean
on | off
padrão: off
Sim
cloudsql.enable_pg_cron boolean
on | off
O padrão é off.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
cloudsql.enable_pg_hint_plan boolean
on | off
O padrão é off.
Sim
cloudsql.enable_pglogical boolean
on | off
O padrão é off.
Sim
cloudsql.enable_pg_squeeze boolean
on | off
O padrão é off.
Sim
cloudsql.enable_pg_wait_sampling boolean
on | off
Sim
cloudsql.iam_authentication boolean
on | off
O padrão é off.
Não
cloudsql.logical_decoding boolean
on | off
O padrão é off.
Sim
cloudsql.max_failed_attempts_user integer
0 ... 10000
O padrão é 10.
Sim
cloudsql.pg_authid_select_role string
Não
commit_delay integer
0 ... 100000
O padrão é 0.
Não
commit_siblings integer
0 ... 1000
O padrão é 5.
Não
constraint_exclusion enumeration
partition | on | off
O padrão é partition.
Não
cpu_index_tuple_cost float
0.0 ... inf
O padrão é 0.005.
Não
cpu_operator_cost float
0.0 ... inf
O padrão é 0.0025.
Não
cpu_tuple_cost float
0.0 ... inf
O padrão é 0.01.
Não
cron.database_name String.
Compatível com PostgreSQL 10 e posterior.
Sim
cron.log_statement boolean
on | off
O padrão é ativado.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
cron.log_run boolean
on | off
O padrão é ativado.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
cron.max_running_jobs Integer
0 ... varies
O padrão é 5.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
cron.log_min_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
O padrão é warning.
Compatível com o PostgreSQL 10 e versões mais recentes.
Não
cursor_tuple_fraction float
0.0 ... 1.0
O padrão é 0.1.
Não
deadlock_timeout integer
1 ... 2147483647 ms
O padrão é 1.000 ms.
Não
default_statistics_target integer
1 ... 10000
O padrão é 100.
Não
default_tablespace string Não
default_transaction_deferrable boolean
on | off
O padrão é desativado.
Não
default_transaction_isolation enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
O padrão é "comprometido com a leitura".
Não
effective_cache_size integer
O intervalo de tamanho é de 10% a 70% da memória da instância.
A unidade é 8 KB.
O padrão é 40% da memória da VM. Por exemplo, para uma memória de instância de 45 GB, o valor padrão é 18537160 KB.
Não
effective_io_concurrency integer
0 ... 1000
O padrão é 1.
Não
enable_bitmapscan boolean
on | off
O padrão é ativado.
Não
enable_hashagg boolean
on | off
O padrão é ativado.
Não
enable_hashjoin boolean
on | off
O padrão é ativado.
Não
enable_indexonlyscan boolean
on | off
O padrão é ativado.
Não
enable_indexscan boolean
on | off
O padrão é ativado.
Não
enable_material boolean
on | off
O padrão é ativado.
Não
enable_mergejoin boolean
on | off
O padrão é ativado.
Não
enable_nestloop boolean
on | off
O padrão é ativado.
Não
enable_seqscan boolean
on | off
O padrão é ativado.
Não
enable_sort boolean
on | off
O padrão é ativado.
Não
enable_tidscan boolean
on | off
O padrão é ativado.
Não
force_parallel_mode enumeration
off | on | regress
O padrão é desativado.
Não
from_collapse_limit integer
1 ... 2147483647
O padrão é 8.
Não
geqo (em inglês) boolean
on | off
O padrão é ativado.
Não
geqo_effort integer
1 ... 10
O padrão é 5.
Não
geqo_generations integer
0 ... 2147483647
O padrão é 0.
Não
geqo_pool_size integer
0 ... 2147483647
O padrão é 0.
Não
geqo_seed float
0.0 ... 1.0
O padrão é 0.
Não
geqo_selection_bias float
1.5 ... 2.0
O padrão é 2.
Não
geqo_threshold integer
2 ... 2147483647
O padrão é 12.
Não
gin_fuzzy_search_limit integer
0 ... 2147483647
O padrão é 0.
Não
gin_pending_list_limit integer
64 ... 2147483647 KB
O padrão é 4.096 KB.
Não
hash_mem_multiplier float
1 ... 1000
O padrão é 2.
Não
hot_standby_feedback boolean
on | off
O padrão é desativado.
Não
huge_pages enumeration
try | off
O padrão é try.
Sim
idle_in_transaction_session_timeout integer
0 ... 2147483647 ms
O padrão é 0.
Não
ivfflat.probes integer
1 ... varies
O padrão é 1.
Compatível com o PostgreSQL 10 e versões mais recentes.
Não
join_collapse_limit integer
1 ... 2147483647
O padrão é 8.
Não
lock_timeout integer
0 ... 2147483647 ms
O padrão é 0.
Não
log_autovacuum_min_duration integer
0 ... 2147483647 ms ou -1 para desativar
O padrão é 0.
Não
log_checkpoints boolean
on | off
O padrão é desativado.
Não
log_connections boolean
on | off
O padrão é desativado.
Não
log_disconnections boolean
on | off
O padrão é desativado.
Não
log_duration boolean
on | off
O padrão é desativado.
Não
log_error_verbosity enumeration
terse | default | verbose
O padrão é padrão.
Não
log_executor_stats boolean
on | off
O padrão é desativado.
Não
log_hostname boolean
on | off
O padrão é desativado.
Não
log_line_prefix String
Uma string no estilo printf que é gerada no início de cada linha de um arquivo de registros.
O padrão é %m [%p]: [%l-1] db=%d,user=%u, que registra o carimbo de data/hora, o ID do processo, o banco de dados e o nome de usuário.
Não
log_lock_waits boolean
on | off
O padrão é desativado.
Não
log_min_duration_statement integer
-1 ... 2147483647 ms
O padrão é -1.
Não
log_min_error_statement enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
O padrão é erro.
Não
log_min_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
O padrão é aviso.
Não
log_parser_stats boolean
on | off
O padrão é desativado.
Não
log_planner_stats boolean
on | off
O padrão é desativado.
Não
log_replication_commands boolean
on | off
O padrão é desativado.
Não
log_statement enumeration
none | ddl | mod | all
Defina como mod para registrar todas as instruções de Linguagem de definição de dados (DDL), além de instruções de modificação de dados, como INSERT, UPDATE, DELETE, TRUNCATE
O padrão é nenhum.
Não
log_statement_stats boolean
on | off
Não pode ser ativado com log_parser_stats, log_planner_stats ou log_executor_stats.
O padrão é desativado.
Não
log_temp_files integer
0 ... 2147483647 KB ou -1 para desativar
O padrão é 0.
Não
log_timezone string
Esse flag fornece aos usuários do Cloud SQL para PostgreSQL uma maneira de definir o fuso horário usado para carimbos de data/hora que são gravados no registro do servidor.

Os fusos horários são especificados por nome. Por exemplo, Europe/London é o nome do fuso horário para Londres.

É necessário atualizar esse flag manualmente na instância principal e em todas as réplicas de leitura.

Os nomes de fuso horário são indiferentes a maiúsculas. É possível fornecer o nome do fuso horário em qualquer caso.

Oferecemos suporte a UTC+X como um formato válido para esse flag, em que X é +/-HH:MM.

Sim
logical_decoding_work_mem integer
64 ... 2147483647
O padrão é 65536.
Não
maintenance_io_concurrency integer
0 ... 1000
O padrão é 10.
Não
maintenance_work_mem integer
1024 ... 2147483647 KB
O padrão é 64 MB.
Não
max_connections integer
14 ... varies (see note)
O valor padrão depende da quantidade de memória da maior instância na cadeia de primárias (essa instância, e, se for uma réplica de leitura, a primária, a primária da primária etc. até a raiz da árvore de replicação).
Memória (GB) na maior instânciaValor padrão
minúscula (0,5)25
pequena (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
>=1201.000

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão. Essas alterações na instância primária fazem com que a réplica seja reiniciada.

Sim
max_locks_per_transaction integer
10 ... 2,147,483,647
O padrão é 64.

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão. Essas alterações na instância primária fazem com que a réplica seja reiniciada.

Sim
max_logical_replication_workers integer
4 ... 8192
O padrão é 4.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
max_parallel_maintenance_workers integer
0 ... varies
O padrão é 2.
Compatível com o PostgreSQL 11 e versões mais recentes.

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão.

Se o valor na principal for default, o valor das réplicas não poderá ser alterado. Para alterar o valor das réplicas, primeiro defina o valor no principal como um número inteiro.

Não
max_parallel_workers integer
0 ... varies
O padrão é 8.
Compatível com o PostgreSQL 10 e versões mais recentes.

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão.

Se o valor na principal for default, o valor das réplicas não poderá ser alterado. Para alterar o valor das réplicas, primeiro defina o valor no principal como um número inteiro.

Não
max_parallel_workers_per_gather integer
0 ... varies
O padrão é 2.

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão.

Se o valor na principal for default, o valor das réplicas não poderá ser alterado. Para alterar o valor das réplicas, primeiro defina o valor no principal como um número inteiro.

Não
max_pred_locks_per_page integer
0 ... 2147483647
O padrão é 2.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
max_pred_locks_per_relation integer
-2147483648 ... 2147483647
O padrão é -2.
Compatível com o PostgreSQL 10 e versões mais recentes.
Sim
max_pred_locks_per_transaction integer
64 ... 1048576
Sim
max_prepared_transactions integer
0 ... varies
Tamanho da memória (MB)Valor máximo
De 0 a 3.84030.000
De 3.840 a 7.68085.000
De 7.680 a 15.360200.000
15.360 ou um valor acima disso262.000

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão. Essas alterações na instância primária fazem com que a réplica seja reiniciada.

Sim
max_replication_slots integer
10 ... varies
O padrão é 10.
Sim
max_standby_archive_delay integer
0 ... 2147483647 ms, ou -1 para aguardar para sempre
Não
max_standby_streaming_delay integer
0 ... 2147483647 ms, ou -1 para aguardar para sempre
Não
max_sync_workers_per_subscription integer
2 ... 64
Não pode ser maior que max_logical_replication_workers.
Não
max_wal_senders integer
10 ... varies
O padrão é 10.

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão. Essas alterações na instância primária fazem com que a réplica seja reiniciada.

Sim
max_wal_size integer
2 ... 2147483647

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

O valor padrão será 1504 MB se a memória da instância for maior ou igual a 3.75 GB. O valor padrão será 1 GB se a memória da instância for menor que 3.75 GB.

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

O valor nas réplicas precisa ser maior ou igual ao valor no principal. As alterações no principal se propagam para as réplicas que têm um valor menor que o novo valor no principal ou que não foi alterado do valor padrão. Essas alterações na instância primária fazem com que a réplica seja reiniciada.

Sim
min_parallel_relation_size integer
0 ... 715827882
A unidade é 8 KB
Compatível apenas com PostgreSQL 9.6.
Não
min_wal_size integer
32 ... 2147483647

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

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

O padrão depende da versão do PostgreSQL. Para as versões 10 a 13 do PostgreSQL, o padrão é md5. Para o PostgreSQL 14 e versões mais recentes, o padrão é scram-sha-256.

Não
pg_bigm.enable_recheck boolean
on | off
Não
pg_bigm.gin_key_limit integer
0 ... 2147483647
Não
pg_bigm.similarity_limit float
0.0 ... 1.0
Não
pg_hint_plan.enable_hint boolean
on | off
O padrão é ativado.
Não
pg_hint_plan.debug_print String
off|on|detailed|verbose|0|1||2|3|no|yes|false|true
O padrão é desativado.
Não
pg_hint_plan.parse_messages String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
O padrão é informações.
Não
pg_hint_plan.message_level String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
O padrão é registro.
Não
pg_hint_plan.enable_hint_table boolean
on | off
Esse recurso fica desativado por padrão.
Não
pglogical.batch_inserts boolean
on | off
O padrão é off.
Sim
pglogical.conflict_log_level String
O padrão é LOG.
Essa sinalização aceita os mesmos valores de log_min_messages.
Não
pglogical.conflict_resolution String
error|apply_remote|keep_local|last_update_wins|first_update_wins O padrão é apply_remote.
Não
pglogical.extra_connection_options String
Aceita PostgreSQL keyword/value connection strings.
O padrão é a string vazia.
Não
pglogical.synchronous_commit boolean
on | off
O padrão é on.
Sim
pglogical.use_spi boolean
on | off
O padrão é off.
Sim
pg_stat_statements.max integer
100 ... 2147483647
O padrão é 5000.
Sim
pg_stat_statements.save boolean
on | off
O padrão é ativado.
Não
pg_stat_statements.track enumeration
none | top | all
O padrão é top.
Não
pg_stat_statements.track_utility boolean
on | off
O padrão é ativado.
Não
pgaudit.log enumeration
read | write | function | role | ddl | misc | misc_set | all|none

É possível fornecer várias classes usando uma lista separada por vírgulas e subtrair uma classe preenchendo-a com um sinal -. O padrão é none.

Não
pgaudit.log_catalog boolean
on | off
O padrão é on.
Não
pgaudit.log_client boolean
on | off
O padrão é off.
Não
pgaudit.log_level enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log
O padrão é log. Além disso, pgaudit.log_level é ativado somente quando pgaudit.log_client está ativado.
Não
pgaudit.log_parameter boolean
on | off
O padrão é off.
Não
pgaudit.log_relation boolean
on | off
O padrão é off.
Não
pgaudit.log_statement_once boolean
on | off
O padrão é off.
Não
pgaudit.role string
Não há padrão.
Não
pgtt.enabled boolean
on | off
O padrão é ativado.
Não
pg_wait_sampling.history_period integer
1 ... 2147483647
Não
pg_wait_sampling.history_size integer
1 ... 2147483647
Não
pg_wait_sampling.profile_period integer
1 ... 2147483647
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
O padrão é 4.
Não
rdkit.agent_FP_bit_ratio float
0 ... 3
Não
rdkit.avalon_fp_size integer
64 ... 9192
Não
rdkit.dice_threshold float
0 ... 1
Não
rdkit.difference_FP_weight_agents integer
-10 ... 10
Não
rdkit.difference_FP_weight_nonagents integer
1 ... 20
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
64 ... 9192
Não
rdkit.hashed_atompair_fp_size integer
64 ... 9192
Não
rdkit.hashed_torsion_fp_size integer
64 ... 9192
Não
rdkit.ignore_reaction_agents boolean
on | off
Não
rdkit.init_reaction boolean
on | off
Não
rdkit.layered_fp_size integer
64 ... 9192
Não
rdkit.morgan_fp_size integer
64 ... 9192
Não
rdkit.move_unmmapped_reactants_to_agents boolean
on | off
Não
rdkit.rdkit_fp_size integer
64 ... 9192
Não
rdkit.reaction_difference_fp_size integer
64 ... 9192
Não
rdkit.reaction_difference_fp_type integer
1 ... 3
Não
rdkit.reaction_sss_fp_size integer
64 ... 9192
Não
rdkit.reaction_sss_fp_type integer
1 ... 5
Não
rdkit.sss_fp_size integer
64 ... 4096
Não
rdkit.tanimoto_threshold float
0 ... 1
Não
rdkit.threshold_unmapped_reactant_atoms float
0 ... 1
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
-
shared_buffers integer
O intervalo de tamanho é de 10% a 60% da memória da instância.
A unidade é 8 KB.
O padrão é um terço da memória total da VM da instância (em MB). Por exemplo, para 45 GB de memória de instância, o valor padrão é 15085 MB.
Sim
squeeze.max_xlock_time integer
1 ... 2147483647
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 ser usada. Os valores válidos são para ssl_min_protocol_version, com a adição de uma string vazia, que permite que qualquer versão de protocolo seja especificada.
Compatível com o PostgreSQL 12 e versões mais recentes.
Não
ssl_min_protocol_version enumeration
Postgres 14: define a versão mínima do protocolo SSL/TLS a ser usada. No momento, os valores válidos são: TLSv1, TLSv1.1, TLSv1.2 ou TLSv1.3.
O padrão é TLSv1.
Compatível com o PostgreSQL 12 e versões mais recentes.
Não
standard_conforming_strings boolean
on | off
O padrão é ativado.
Não
synchronize_seqscans boolean
on | off
O padrão é ativado.
Não
tcp_keepalives_count integer
0 ... 2147483647
O padrão é 5.
Não
tcp_keepalives_idle integer
0 ... 2147483647
O padrão é 60.
Não
tcp_keepalives_interval integer
0 ... 2147483647
O padrão é 60.
Não
temp_buffers integer
100 ... 1,073,741,823
Unidade é 8 KB
Não
temp_file_limit integer
1048576 ... 2147483647 KB
O padrão é 10% do tamanho inicial do disco. Por exemplo, para um disco de 100 GB, o valor padrão é 10262623 KB.
Não
TimeZone string
Esse flag fornece aos usuários do Cloud SQL para PostgreSQL uma maneira de definir o fuso horário para exibir e analisar carimbos de data/hora.

Os fusos horários são especificados por nome. Por exemplo, Europe/London é o nome do fuso horário para Londres.

É necessário atualizar esse flag manualmente na instância principal e em todas as réplicas de leitura.

Os nomes de fuso horário são indiferentes a maiúsculas. É possível fornecer o nome do fuso horário em qualquer caso.

Oferecemos suporte a UTC+X como um formato válido para esse flag, em que X é +/-HH.

Sim
trace_notify boolean
on | off
O padrão é desativado.
Não
trace_recovery_messages enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
O padrão é registro.
Não
trace_sort boolean
on | off
O padrão é desativado.
Não
track_activities boolean
on | off
O padrão é ativado.
Não
track_activity_query_size integer
100 ... 102400
O padrão é 1 KB.
Sim
track_commit_timestamp boolean
on | off
O padrão é desativado.
Sim
track_counts boolean
on | off
O padrão é ativado.
Não
track_functions enumeration
none | pl | all
O padrão é nenhum.
Não
track_io_timing boolean
on | off
O padrão é desativado.
Não
vacuum_cost_delay (em inglês) integer
0 ... 100 ms
O padrão é 0.
Não
vacuum_cost_limit integer
1 ... 10000
O padrão é 200.
Não
vacuum_failsafe_age integer
0 ... 2100000000
O padrão é 1600000000.
Não
vacuum_freeze_min_age integer
0 ... 1000000000
O padrão é 50000000.
Não
vacuum_freeze_table_age integer
0 ... 2000000000
O padrão é 150000000.
Não
vacuum_multixact_failsafe_age integer
0 ... 2100000000
O padrão é 1600000000.
Não
vacuum_multixact_freeze_min_age integer
0 ... 1000000000
O padrão é 5000000.
Não
vacuum_multixact_freeze_table_age integer
0 ... 2000000000
O padrão é 150000000.
Não
wal_buffers integer
O intervalo de tamanho é de 1% a 5% da memória da instância.
A unidade é 8 KB.
O padrão é 16 MB.
Sim
wal_compression enumeration
off | on | pglz | lz4 | zstd
O padrão édesativado .
Não
wal_receiver_timeout integer
0 ... 2147483647
O padrão é 60 segundos.

Essa sinalização afeta o remetente e o receptor do WAL. Se não for definida adequadamente, essa sinalização afetará a replicação lógica e física. Essa sinalização também afeta o desempenho e a latência da replicação. O valor zero desativa o mecanismo de tempo limite. A unidade é milissegundos.

Não
wal_sender_timeout integer
0 ... 2147483647
O padrão é 60 segundos.

Essa sinalização afeta o remetente e o receptor do WAL. Se não for definida adequadamente, essa sinalização afetará a replicação lógica e física. Essa sinalização também afeta o desempenho e a latência da replicação. O valor zero desativa o mecanismo de tempo limite. A unidade é milissegundos.

Não
work_mem integer
64 ... 2147483647 KB
O padrão é 4 MB.
Não

Sinalizações especiais

bgwriter

O PostgreSQL tem uma sinalização de gravador em segundo plano (bgwriter). Essa sinalização emite gravações de buffers compartilhados novos ou modificados. Esses buffers compartilhados são conhecidos como buffers sujos. Quando o número de buffers compartilhados limpos é insuficiente, a gravação em segundo plano grava buffers sujos no sistema de arquivos e os marca como limpos.

Duas sinalizações associadas à sinalização bgwriter são bgwriter_delay e bgwriter_lru_maxpages. bgwriter_delay especifica o atraso entre as rodadas de atividades do gravador em segundo plano em milissegundos (ms), e bgwriter_lru_maxpages especifica quantos buffers serão gravados pelo gravador em segundo plano.

O valor padrão da sinalização bgwriter é 200 ms. No entanto, se você selecionar uma unidade de estado sólido (SSD, na sigla em inglês) maior que 500 GB, o valor da sinalização bgwriter_delay será definido como 50, e o valor da sinalização bgwriter_lru_maxpages está definida como 200.

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

session_replication_role

O PostgreSQL tem uma sinalização session_replication_role, que foi projetada para ser usada na replicação lógica e que permite desativar os gatilhos de restrição em sessões individuais.

Às vezes, essa sinalização também pode ser usada em algumas operações de manutenção para escapar das verificações de restrições (geralmente de chaves externas).

Essa sinalização pode ser definida em uma sessão por qualquer usuário que tenha a propriedade REPLICATION definida. A propriedade REPLICATION para qualquer usuário pode ser definida por cloudsqlsuperuser quando uma das sinalizações cloudsql.enable_pglogical ou cloudsql.logical_decoding está definida para a instância.

Essa sinalização não pode ser definida para a instância inteira.

Solução de problemas

Problema Solução de problemas
Você define o fuso horário de uma sessão, mas ela expira quando você faz logoff.

Conecte-se ao banco de dados e defina o fuso horário que você quiser para ele, por usuário ou banco de dados.

No Cloud SQL para PostgreSQL, é possível especificar o seguinte. Essas configurações permanecem depois que a sessão é fechada, imitando uma configuração .conf:

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

Essas configurações são válidas apenas para novas conexões com o banco de dados. Para ver a alteração no fuso horário, desconecte-se da instância e reconecte-se a ela.

A seguir