Configurar sinalizadores de banco de dados, Configurar sinalizadores de banco de dados

Esta página descreve como configurar sinalizadores de banco de dados para o Cloud SQL e lista os sinalizadores que você pode definir para sua instância. Os sinalizadores de banco de dados são usados ​​para diversas 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, definir um sinalizador pode exigir que você defina outro sinalizador para habilitar totalmente a funcionalidade desejada.

Ao definir, remover ou modificar um sinalizador para uma instância de banco de dados, o banco de dados poderá ser reiniciado. O valor do sinalizador será então mantido para a instância até que você o remova. Se a instância for a origem de uma réplica e for reiniciada, a réplica também será reiniciada para se alinhar à configuração atual da instância.

Configurar sinalizadores de banco de dados

Definir um sinalizador de banco de dados

Console

  1. No Google Cloud console , selecione o projeto que contém a instância do Cloud SQL para a qual você deseja definir um sinalizador de banco de dados.
  2. Abra a instância e clique em Editar .
  3. Role para baixo até a seção Bandeiras .
  4. Para definir um sinalizador que não foi definido na instância antes, clique em Adicionar item , escolha o sinalizador no menu suspenso e defina seu valor.
  5. Clique em Salvar para salvar suas alterações.
  6. Confirme suas alterações em Sinalizadores na página Visão geral.

gcloud

Edite a instância:

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

Este comando substituirá todos os sinalizadores do banco de dados definidos anteriormente. Para mantê-los e adicionar novos, inclua os valores de todos os sinalizadores que deseja definir na instância; qualquer sinalizador não incluído especificamente será definido com seu valor padrão. Para sinalizadores que não aceitam um valor, especifique o nome do sinalizador seguido por um sinal de igual ("=").

Por exemplo, para definir os sinalizadores log_connections e log_min_error_statement , você pode usar o seguinte comando:

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

Terraform

Para adicionar sinalizadores de 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
}

Aplicar as alterações

Para aplicar sua configuração do Terraform em um Google Cloud projeto, conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell .
  2. Defina o padrão Google Cloud projeto onde você deseja aplicar suas configurações do Terraform.

    Você só precisa executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    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 deve ter seu 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 deve ter a extensão .tf — por exemplo, main.tf Neste tutorial, o arquivo será chamado de main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver seguindo um tutorial, você pode copiar o código de exemplo em cada seção ou etapa.

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

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

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve suas 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

Aplicar as alterações

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

    Faça correções na configuração conforme necessário.

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

    Aguarde até que o Terraform exiba a mensagem "Aplicação concluída!".

  3. Abra seu Google Cloud projeto para visualizar os resultados. No Google Cloud console, navegue até seus recursos na interface do usuário para garantir que o Terraform os criou ou atualizou.

Excluir as alterações

Para excluir suas alterações, faça o seguinte:

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

    terraform destroy

REST v1

Para definir um sinalizador para um banco de dados existente:

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

Se houver sinalizadores configurados para o banco de dados, modifique o comando anterior para incluí-los. O comando PATCH substitui os sinalizadores existentes pelos especificados na solicitação.

REST v1beta4

Para definir um sinalizador para um banco de dados existente:

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

Se houver sinalizadores configurados para o banco de dados, modifique o comando anterior para incluí-los. O comando PATCH substitui os sinalizadores existentes pelos especificados na solicitação.

Limpar todos os sinalizadores para seus valores padrão

Console

  1. No Google Cloud console , selecione o projeto que contém a instância do Cloud SQL para a qual você deseja limpar todos os sinalizadores.
  2. Abra a instância e clique em Editar .
  3. Abra a seção Sinalizadores do banco de dados .
  4. Clique no X ao lado de todas as bandeiras mostradas.
  5. Clique em Salvar para salvar suas alterações.

gcloud

Limpe todos os sinalizadores para seus valores padrão em uma instância:

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

Você será solicitado a confirmar que a instância será reiniciada.

REST v1

Para limpar todos os sinalizadores de uma instância existente:

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

Para limpar todos os sinalizadores de uma instância existente:

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

Exibir valores atuais dos sinalizadores do banco de dados

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

 SELECT name, setting FROM pg_settings;

Observe que você pode alterar o valor somente para sinalizadores suportados (conforme listado abaixo).

Determinar quais sinalizadores de banco de dados foram definidos para uma instância

Para ver quais sinalizadores foram definidos para uma instância do Cloud SQL:

Console

  1. No Google Cloud console , selecione o projeto que contém a instância do Cloud SQL para a qual você deseja ver os sinalizadores de banco de dados que foram definidos.
  2. Selecione a instância para abrir sua página Visão geral da instância .

    Os sinalizadores de banco de dados que foram definidos estão listados na seção Sinalizadores de banco de dados .

gcloud

Obtenha o estado da instância:

gcloud sql instances describe INSTANCE_NAME

Na saída, os sinalizadores do banco de dados são listados nas settings como a coleção databaseFlags . Para obter mais informações sobre a representação dos sinalizadores na saída, consulte Representação de Recursos de Instâncias .

REST v1

Para listar sinalizadores configurados para uma instância:

Antes de usar qualquer um dos dados solicitados, 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

Na saída, procure o campo databaseFlags .

REST v1beta4

Para listar sinalizadores configurados para uma instância:

Antes de usar qualquer um dos dados solicitados, 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

Na saída, procure o campo databaseFlags .

Bandeiras suportadas

Os sinalizadores não mencionados abaixo não são suportados.

Para um determinado sinalizador, o Cloud SQL pode oferecer suporte a um valor ou intervalo diferente do parâmetro ou opção correspondente do PostgreSQL.

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

Sinalizador do Cloud SQL Tipo
Valores e notas aceitáveis
Reiniciar
Obrigatório?
algoritmo anônimo String
O padrão é sha256 .
Não
anon.maskschema String
O padrão é máscara .
Não
anon.restrict_to_trusted_schemas boolean
on | off
O padrão é desativado .
Não
anon.sal String
Não há valor padrão.
Não
anon.sourceshema String
O padrão é público .
Não
auto_explicar.log_analisar boolean
on | off
O padrão é desativado .
Não
auto_explain.log_buffers boolean
on | off
O padrão é desativado .
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 é texto .
Não
auto_explicação.nível_de_log String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|log
O padrão é log .
Suportado no PostgreSQL 12 e superior.
Não
auto_explain.log_nested_statements boolean
on | off
O padrão é desativado .
Não
auto_explain.log_settings boolean
on | off
O padrão é desativado .
Suportado no PostgreSQL 12 e superior.
Não
auto_explain.log_timing boolean
on | off
O padrão é ativado .
Não
auto_explain.log_triggers boolean
on | off
O padrão é desativado .
Não
auto_explicação.log_wal boolean
on | off
O padrão é desativado .
Suportado no PostgreSQL 13 e superior.
Não
auto_explain.log_verbose boolean
on | off
O padrão é desativado .
Não
auto_explicação.taxa_de_amostra Float
0 ... 1
O padrão é 1 .
Não
autovácuo boolean
on | off
O padrão é ativado .
Para obter informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL .
Não
fator_de_escala_de_análise_de_vácuo_automático float
0 ... 100
O padrão é 0,1 .
Não
limite_de_análise_de_vácuo_automático integer
0 ... 2147483647
O padrão é 50 .
Não
idade_máx_de_congelamento_autovácuo integer
100000 ... 2000000000
O padrão é 200000000 .
Para obter informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL .
Sim
trabalhadores_autovacuum_max integer
1 ... varies (see note)
O padrão é 3 .
Sim
autovacuum_multixact_freeze_max_age integer
10000 ... 2000000000
O padrão é 400000000 .
Para obter informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL .
Sim
autovacuum_naptime integer
1 ... 2147483 s
O padrão é 60 s.
Não
atraso_de_custo_de_vácuo_automático 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
limite_de_custo_de_vácuo_automático integer
0 ... 10000 ou -1 para usar o valor vacuum_cost_limit
O padrão é -1 .
Não
fator_de_escala_de_inserção_de_vácuo_automático float
0 ... 100
O padrão é 0,2 .
Não
limite_de_inserção_de_vácuo_automático integer
-1 ... 2147483647
O padrão é 1000 .
Não
fator_de_escala_de_vácuo_automático float
0 ... 100
O padrão é 0,2 .
Não
limite_de_vácuo_automático integer
0 ... 2147483647
O padrão é 50 .
Não
memória_de_trabalho_de_vácuo_automático integer
0 ... 2147483647 KB, ou -1 para usar o valor maintenance_work_mem
O padrão é -1 .
Não
descarga_de_backend_após integer
0 ... 256
A unidade é de 8 KB.
O padrão é 0 .
Não
bgwriter_delay integer
10 ... 10000 ms
O padrão é 200 .
Não
bgwriter_flush_after integer
0 ... 256
A unidade é de 8 KB.
O padrão é 64 .
Não
bgwriter_lru_maxpages integer
0 ... 1073741823
O padrão é 100 .
Não
bgwriter_lru_multiplicador Float
0 ... 10
O padrão é 2 .
Não
meta_de_conclusão_do_ponto_de_verificação float
0.0 ... 1.0
O padrão é 0,9 .
Não
checkpoint_flush_after integer
0 ... 256
A unidade é 8 KB.
O padrão é 32 .
Não
tempo limite do ponto de verificação integer
30 ... 86,400 s
O padrão é 300 s.
Para obter informações de uso que podem afetar o SLA, consulte as Diretrizes operacionais para instâncias do Cloud SQL para PostgreSQL .
Não
aviso de ponto de verificação integer
0 ... 2147483647 s
O padrão é 30 s.
Não
intervalo_de_verificação_de_conexão_do_cliente integer
0 ... 2147483647
O padrão é 0 .
Não
cloudsql.permitir_conexões_locais_sem_senha 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_index_advisor 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 .
Suportado no PostgreSQL 10 e superior.
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.decodificação_lógica 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
atraso_de_commit integer
0 ... 100000
O padrão é 0 .
Não
irmãos_commit integer
0 ... 1000
O padrão é 5 .
Não
restrição_exclusão enumeration
partition | on | off
O padrão é partição .
Não
custo_tupla_índice_da_cpu float
0.0 ... inf
O padrão é 0,005 .
Não
custo_do_operador_da_cpu float
0.0 ... inf
O padrão é 0,0025 .
Não
custo_tupla_da_cpu float
0.0 ... inf
O padrão é 0,01 .
Não
cron.nome_do_banco_de_dados String .
Suportado no PostgreSQL 10 e superior.
Sim
cron.log_statement boolean
on | off
O padrão é ativado .
Suportado no PostgreSQL 10 e superior.
Sim
cron.log_run boolean
on | off
O padrão é ativado .
Suportado no PostgreSQL 10 e superior.
Sim
cron.max_execução_de_trabalhos Integer
0 ... varies
O padrão é 5 .
Suportado no PostgreSQL 10 e superior.
Sim
cron.log_min_mensagens String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log|fatal|panic
O padrão é aviso .
Suportado no PostgreSQL 10 e superior.
Não
cursor_tupla_fração float
0.0 ... 1.0
O padrão é 0,1 .
Não
tempo limite de deadlock integer
1 ... 2147483647 ms
O padrão é 1000 ms.
Não
meta_estatística_padrão integer
1 ... 10000
O padrão é 100 .
Não
espaço_de_tabela_padrão string Não
transação_padrão_adiável boolean
on | off
O padrão é desativado .
Não
isolamento_de_transação_padrão enumeration
serializable | 'repeatable read' | 'read committed' | 'read uncommitted'
O padrão é 'leitura confirmada' .
Não
tamanho_do_cache_efetivo 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 instância de 45 GB de memória, o valor padrão é 18537160 KB.
Não
concorrência_io_efetiva integer
0 ... 1000
O padrão é 1 .
Não
habilitar_async_append boolean
on | off
O padrão é ativado .
Não
enable_bitmapscan boolean
on | off
O padrão é ativado .
Não
enable_gathermerge boolean
on | off
O padrão é ativado .
Não
habilitar_classificação_incremental boolean
on | off
O padrão é ativado .
Não
enable_memoize boolean
on | off
O padrão é ativado .
Não
habilitar_acréscimo_paralelo boolean
on | off
O padrão é ativado .
Não
habilitar_hash_paralelo boolean
on | off
O padrão é ativado .
Não
habilitar_poda_de_partição boolean
on | off
O padrão é ativado .
Não
habilitar_agregação_particional boolean
on | off
O padrão é desativado .
Não
habilitar_partição_junção boolean
on | off
O padrão é desativado .
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
habilitar_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
habilitar_classificação boolean
on | off
O padrão é ativado .
Não
enable_tidscan boolean
on | off
O padrão é ativado .
Não
modo_forçar_paralelo enumeration
off | on | regress
O padrão é desativado .
Não
do limite de colapso integer
1 ... 2147483647
O padrão é 8 .
Não
geqo boolean
on | off
O padrão é ativado .
Não
esforço_geqo integer
1 ... 10
O padrão é 5 .
Não
geqo_generations integer
0 ... 2147483647
O padrão é 0 .
Não
tamanho_do_pool_geqo integer
0 ... 2147483647
O padrão é 0 .
Não
geqo_seed float
0.0 ... 1.0
O padrão é 0 .
Não
viés_de_seleção_geqo float
1.5 ... 2.0
O padrão é 2 .
Não
limite_geqo integer
2 ... 2147483647
O padrão é 12 .
Não
limite_de_pesquisa_gin_fuzzy integer
0 ... 2147483647
O padrão é 0 .
Não
limite_da_lista_pendente_de_gin integer
64 ... 2147483647 KB
O padrão é 4096 KB.
Não
multiplicador_de_mem_hash float
1 ... 1000
O padrão é 2 .
Não
feedback_de_espera_quente boolean
on | off
O padrão é desativado .
Não
páginas_enormes enumeration
try | off
O padrão é try .
Sim
tempo limite_de_inatividade_na_sessão_de_transação integer
0 ... 2147483647 ms
O padrão é 0 .
Não
ivfflat.probes integer
1 ... varies
O padrão é 1 .
Suportado no PostgreSQL 11 e superior.
Não
limite_de_colapso_de_junção integer
1 ... 2147483647
O padrão é 8 .
Não
tempo_limite_de_bloqueio integer
0 ... 2147483647 ms
O padrão é 0 .
Não
log_autovacuum_min_duration integer
0 ... 2147483647 ms, ou -1 para desabilitar
O padrão é 0 .
Não
pontos de verificação de log boolean
on | off
O padrão é desativado .
Não
conexões de log boolean
on | off
O padrão é desativado .
Não
log_desconexões boolean
on | off
O padrão é desativado .
Não
duração_do_log boolean
on | off
O padrão é desativado .
Não
log_error_verbosidade enumeration
terse | default | verbose
O padrão é default .
Não
estatísticas do executor de log boolean
on | off
O padrão é desativado .
Não
nome_do_host_de_log boolean
on | off
O padrão é desativado .
Não
prefixo_de_linha_de_log String
Uma string no estilo printf que é gerada no início de cada linha de um arquivo de log.
O padrão é %m [%p]: [%l-1] db=%d,user=%u , que registra o registro de data e hora, o ID do processo, o banco de dados e o nome de usuário.
Não
espera_de_bloqueio_de_log boolean
on | off
O padrão é desativado .
Não
declaração_de_duração_de_log_min integer
-1 ... 2147483647 ms
O padrão é -1 .
Não
declaração_de_erro_de_log_min enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
O padrão é erro .
Não
mensagens_log_min enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | info | notice | warning | error | log | fatal | panic
O padrão é aviso .
Não
estatísticas do analisador de log boolean
on | off
O padrão é desativado .
Não
estatísticas do planejador de log boolean
on | off
O padrão é desativado .
Não
esperas_de_conflito_de_recuperação_de_log boolean
on | off
O padrão é desativado .
Não
comandos_de_replicação_de_log boolean
on | off
O padrão é desativado .
Não
instrução_log 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
estatísticas_de_declaração_de_log boolean
on | off
Não pode ser habilitado junto com log_parser_stats , log_planner_stats ou log_executor_stats .
O padrão é desativado .
Não
arquivos_temporários_de_log integer
0 ... 2147483647 KB, ou -1 para desabilitar
O padrão é 0 .
Não
log_timezone string
Este sinalizador fornece aos usuários do Cloud SQL para PostgreSQL uma maneira de definir o fuso horário usado para registros de data e hora gravados no log do servidor.

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

Você deve atualizar esse sinalizador manualmente, na instância primária e em todas as réplicas de leitura, para contabilizá-lo.

Os nomes dos fusos horários não diferenciam maiúsculas de minúsculas. Você pode fornecer o nome do fuso horário em qualquer caso.

Suportamos UTC+X como um formato válido para este sinalizador, onde X é +/-HH:MM .

Sim
memória_de_trabalho_de_decodificação_lógica integer
64 ... 2147483647
O padrão é 65536 .
Não
manutenção_io_concorrência integer
0 ... 1000
O padrão é 10 .
Não
memória_de_trabalho_de_manutenção 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 (esta instância; e, se for uma réplica de leitura, sua primária, a primária de sua primária, etc., até a raiz da árvore de replicação).
Memória (GB) na maior instância Valor padrão
minúsculo (~0,5) 25
pequeno (~1,7) 50
de 3,75 a < 6 100
de 6 a < 7,5 200
de 7,5 a < 15 400
de 15 a < 30 500
de 30 a < 60 600
de 60 a < 120 800
>=120 1.000

O valor nas réplicas deve ser maior ou igual ao valor no primário. Alterações no primário se propagam para réplicas que tenham um valor inferior ao novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão. Essas alterações no primário fazem com que a réplica seja reiniciada.

Sim
máximo_de_bloqueios_por_transação integer
10 ... 2,147,483,647
O padrão é 64 .

O valor nas réplicas deve ser maior ou igual ao valor no primário. Alterações no primário se propagam para réplicas que tenham um valor inferior ao novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão. Essas alterações no primário fazem com que a réplica seja reiniciada.

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

O valor nas réplicas deve ser maior ou igual ao valor no primário. Alterações no primário são propagadas para réplicas que tenham um valor menor que o novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão.

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

Não
max_parallel_workers integer
0 ... varies
O padrão é 8 .
Suportado no PostgreSQL 10 e superior.

O valor nas réplicas deve ser maior ou igual ao valor no primário. Alterações no primário são propagadas para réplicas que tenham um valor menor que o novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão.

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

Não
máximo_de_trabalhadores_paralelos_por_reunião integer
0 ... varies
O padrão é 2 .

O valor nas réplicas deve ser maior ou igual ao valor no primário. Alterações no primário são propagadas para réplicas que tenham um valor menor que o novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão.

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

Não
máx._bloqueios_predefinidos_por_página integer
0 ... 2147483647
O padrão é 2 .
Suportado no PostgreSQL 10 e superior.
Não
max_pred_locks_por_relação integer
-2147483648 ... 2147483647
O padrão é -2 .
Suportado no PostgreSQL 10 e superior.
Não
máximo_de_bloqueios_predefinidos_por_transação integer
64 ... 1048576
Sim
max_transações_preparadas integer
0 ... varies
Tamanho da memória (MB) Valor máximo
0 - 3.840 30.000
3.840 - 7.680 85.000
7.680 - 15.360 200.000
15.360 e acima 262.000

O valor nas réplicas deve ser maior ou igual ao valor no primário. Alterações no primário se propagam para réplicas que tenham um valor inferior ao novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão. Essas alterações no primário fazem com que a réplica seja reiniciada.

Sim
máximo_de_slots_de_replicação integer
10 ... varies
O padrão é 10 .
Sim
atraso_máximo_de_arquivo_em_espera integer
0 ... 2147483647 ms, ou -1 para esperar para sempre
Não
atraso_máximo_de_streaming_em_espera integer
0 ... 2147483647 ms, ou -1 para esperar para sempre
Não
max_sync_workers_por_assinatura 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 deve ser maior ou igual ao valor no primário. Alterações no primário se propagam para réplicas que tenham um valor inferior ao novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão. Essas alterações no primário fazem com que a réplica seja reiniciada.

Sim
tamanho_máximo_do_wal integer
2 ... 2147483647

A unidade tem 16 MB (o tamanho do arquivo WAL) para a versão 9.6 e 1 MB para PostgreSQL 10 e superiores.

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

Para obter informações de uso que podem 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 deve ser maior ou igual ao valor no primário. Alterações no primário se propagam para réplicas que tenham um valor inferior ao novo valor no primário ou que não tenham sido alteradas em relação ao valor padrão. Essas alterações no primário fazem com que a réplica seja reiniciada.

Sim
tamanho_min_de_varredura_de_índice_paralelo integer
0 ... 715827882
A unidade é 8 KB
Não
tamanho_min_de_varredura_de_tabela_paralela integer
0 ... 715827882
A unidade é 8 KB
Não
tamanho_mínimo_da_relação_paralela integer
0 ... 715827882
A unidade é 8 KB
Suportado somente no PostgreSQL 9.6.
Não
tamanho_min_wal integer
32 ... 2147483647

A unidade tem 16 MB (o tamanho do arquivo WAL) para a versão 9.6 e 1 MB para PostgreSQL 10 e superiores.

Não
limite_antigo_de_instantâneo integer
0 ... 86400 min, ou -1 para desabilitar
O padrão é -1 .
Sim
custo_de_configuração_paralela float
0.0 ... inf
O padrão é 1000 .
Não
custo_de_tupla_paralela float
0.0 ... inf
O padrão é 0,1 .
Não
criptografia de senha 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 superior, 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.limite_de_similaridade 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 é info .
Não
pg_hint_plan.nível_de_mensagem String
debug5|debug4|debug3|debug2|debug1|debug|
info|notice|warning|error|log
O padrão é log .
Não
pg_hint_plan.enable_hint_table boolean
on | off
O padrão é desativado .
Não
pglogical.batch_inserts boolean
on | off
O padrão é off .
Sim
nível_de_log_de_conflito_pglógico String
O padrão é LOG .
Este sinalizador aceita os mesmos valores que log_min_messages .
Não
resolução_de_conflitos_pglógico 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 strings de conexão de palavra-chave/valor do PostgreSQL.
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

Você pode fornecer várias classes usando uma lista separada por vírgulas e subtrair uma classe colocando um sinal de - antes dela. 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 é habilitado 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.papel string
Não há padrão.
Não
pgtt.habilitado boolean
on | off
O padrão é ativado .
Não
pg_wait_sampling.período_histórico integer
1 ... 2147483647
Não
pg_wait_sampling.history_size integer
1 ... 2147483647
Não
pg_wait_sampling.período_de_perfil 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
custo_de_página_aleatória float
0.0 ... inf
O padrão é 4 .
Não
modo_cache_plano

String
auto|force_generic_plan|force_custom_plan
O padrão é automático .
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_quiral_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.tamanho_em_camadas_de_fp integer
64 ... 9192
Não
rdkit.morgan_fp_size integer
64 ... 9192
Não
rdkit.move_reagentes_não_mapeados_para_agentes 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
tuplas_de_classificação_de_substituição integer
0 ... 2147483647
Não
função_de_replicação_de_sessão enumeration
origin | replica | local
Pode ser definido somente na sessão atual
-
custo_da_página_seq float
0.0 ... inf
O padrão é 1.0 .
Não
buffers compartilhados 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 da instância, o valor padrão é 15085 MB.
Sim
espremer.max_xlock_time integer
1 ... 2147483647
Não
squeeze.worker_autostart string
Sim
espremer.função_do_trabalhador string
Sim
versão_do_protocolo_ssl_max enumeration
Postgres 14: define a versão máxima do protocolo SSL/TLS a ser usada. Os valores válidos são os mesmos de 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
versão_do_protocolo_ssl_min enumeration
Postgres 14: define a versão mínima do protocolo SSL/TLS a ser usada. Os valores válidos atualmente são: TLSv1 , TLSv1.1 , TLSv1.2 , TLSv1.3 .
O padrão é TLSv1 .
Suportado no PostgreSQL 12 e superior.
Não
strings_em_conformidade_padrão boolean
on | off
O padrão é ativado .
Não
sincronizar_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
intervalo_de_manutenção_tcp integer
0 ... 2147483647
O padrão é 60 .
Não
buffers temporários integer
100 ... 1,073,741,823
A unidade é 8 KB
Não
limite_de_arquivo_temporário 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
Fuso horário string
Este sinalizador fornece aos usuários do Cloud SQL para PostgreSQL uma maneira de definir o fuso horário para exibir e analisar registros de data e hora.

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

Você deve atualizar esse sinalizador manualmente, na instância primária e em todas as réplicas de leitura, para contabilizá-lo.

Os nomes dos fusos horários não diferenciam maiúsculas de minúsculas. Você pode fornecer o nome do fuso horário em qualquer caso.

Oferecemos suporte UTC+X como um formato válido para este sinalizador, onde X é +/-HH .

Sim
trace_notify boolean
on | off
O padrão é desativado .
Não
mensagens_de_recuperação_de_rastreamento enumeration
debug5 | debug4 | debug3 | debug2 | debug1 | log | notice | warning | error
O padrão é log .
Não
classificação_de_rastreamento boolean
on | off
O padrão é desativado .
Não
atividades de trilha boolean
on | off
O padrão é ativado .
Não
tamanho_da_consulta_de_atividade_de_trilha integer
100 ... 102400
O padrão é 1 KB.
Sim
carimbo de data/hora do commit da trilha boolean
on | off
O padrão é desativado .
Sim
contagens_de_trilhas boolean
on | off
O padrão é ativado .
Não
funções de rastreamento enumeration
none | pl | all
O padrão é nenhum .
Não
track_io_timing boolean
on | off
O padrão é desativado .
Não
atraso_no_custo_do_vácuo integer
0 ... 100 ms
O padrão é 0 .
Não
limite_de_custo_de_vácuo integer
1 ... 10000
O padrão é 200 .
Não
custo_de_vácuo_página_suja integer
0 ... 10000
O padrão é 20 .
Não
custo_de_vácuo_acerto_de_página integer
0 ... 10000
O padrão é 1 .
Não
custo_de_vácuo_página_perdida integer
0 ... 10000
O padrão é 10 .
Não
idade_à_prova_de_vácuo integer
0 ... 2100000000
O padrão é 1600000000 .
Não
tempo_mínimo_de_congelamento_a_vácuo integer
0 ... 1000000000
O padrão é 50000000 .
Não
idade_da_tabela_de_congelamento_a_vácuo integer
0 ... 2000000000
O padrão é 150000000 .
Não
idade_à_prova_de_falhas_multixact_de_vácuo integer
0 ... 2100000000
O padrão é 1600000000 .
Não
vácuo_multixact_freeze_min_age integer
0 ... 1000000000
O padrão é 5000000 .
Não
idade_da_tabela_de_congelamento_multixact_a_vácuo 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
compressão wal enumeration
off | on | pglz | lz4 | zstd
O padrão é desativado .
Não
tempo limite do receptor wal integer
0 ... 2147483647
O padrão é 60 segundos.

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

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

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

Não
atraso_do_escritor_wal integer
1 ... 10000
O padrão é 200 .
Não
wal_writer_flush_after integer
0 ... 2147483647
O padrão é 128 .
Não
memória_de_trabalho integer
64 ... 2147483647 KB
O padrão é 4 MB.
Não

Bandeiras especiais

bgwriter

O PostgreSQL possui um sinalizador de gravação em segundo plano ( bgwriter ). Este sinalizador 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, o gravador em segundo plano grava buffers sujos no sistema de arquivos e os marca como limpos.

Dois sinalizadores associados ao sinalizador bgwriter são bgwriter_delay e bgwriter_lru_maxpages . bgwriter_delay especifica o atraso entre as rodadas de atividade 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 para o sinalizador bgwriter é 200 ms . No entanto, se você selecionar uma unidade de estado sólido (SSD) maior que 500 GB, o valor do sinalizador bgwriter_delay será definido como 50 , e o valor do sinalizador bgwriter_lru_maxpages será definido como 200 .

Para obter mais informações sobre o gravador de segundo plano , consulte a documentação do PostgreSQL.

session_replication_role

O PostgreSQL tem o sinalizador session_replication_role , que foi projetado para ser usado para replicação lógica e permite que você desabilite gatilhos de restrição em sessões individuais.

Às vezes, esse sinalizador também pode ser usado para algumas operações de manutenção para contornar verificações de restrições (geralmente de Chave Estrangeira).

Este sinalizador pode ser definido em uma sessão por qualquer usuário que tenha a propriedade REPLICATION definida. A propriedade REPLICATION para qualquer usuário pode ser definida pelo cloudsqlsuperuser quando um dos sinalizadores cloudsql.enable_pglogical ou cloudsql.logical_decoding estiver definido para a instância.

Este sinalizador não pode ser definido para a instância inteira.

Solução de problemas

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

Conecte-se ao banco de dados e defina o fuso horário do banco de dados como você desejar, por usuário ou por banco de dados.

No Cloud SQL para PostgreSQL, você pode especificar o seguinte. Estas configurações permanecem após o encerramento de uma sessão, imitando uma configuração .conf :

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

Essas configurações se aplicam apenas a 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.

O que vem a seguir