O PolarDB for PostgreSQL pré-ajusta determinados parâmetros da edição community para oferecer melhor desempenho e estabilidade em ambiente de nuvem. Alguns valores padrão diferem do PostgreSQL padrão. Esta referência aborda os parâmetros que afetam o desempenho e o comportamento, organizados por categoria.
Alguns parâmetros não podem ser modificados no console. Faça login no cluster e use a linha de comando para visualizá-los e modificá-los.
Parâmetros importantes
Os três parâmetros abaixo possuem valores padrão específicos do PolarDB, diferentes da edição community. Modifique-os no console conforme necessário.
synchronous_commit
Controla quando uma transação retorna sucesso ao cliente em relação às garantias de durabilidade do WAL. Padrão: off.
Detalhes da configuração:
off(padrão): As transações retornam sucesso sem aguardar a gravação do WAL em disco. A janela máxima de perda de dados é 3 ×wal_writer_delay(padrão: 10 ms). Use esta opção quando o throughput for mais importante que a durabilidade estrita.on: As transações aguardam a gravação do WAL em disco antes de retornar sucesso. Recomendado quando a aplicação exige durabilidade rigorosa por transação.remote_write: As transações aguardam a gravação do WAL no sistema de arquivos do standby, mas não necessariamente sua liberação para o disco.local: As transações aguardam apenas a gravação do WAL no disco local, sem exigência de standby.remote_apply: As transações aguardam a aplicação do WAL ao log de transações do standby. Isso oferece a garantia de consistência mais forte, mas aumenta a latência de commit.
Para verificar a configuração atual, execute SHOW synchronous_commit;.
wal_level
Define a quantidade de informações gravadas no write-ahead logging (WAL). Padrão: replica.
A alteração deste parâmetro reinicia o banco de dados. Planeje-se adequadamente.
|
Valor |
Conteúdo do WAL |
Quando usar |
|
|
Suporta nós standby somente leitura |
Implantação padrão; reduz o volume de WAL e melhora o desempenho de gravação |
|
|
Adiciona dados necessários para replicação lógica |
Sua carga de trabalho utiliza replicação lógica |
Para verificar a configuração atual, execute SHOW wal_level;.
log_statement
Define quais instruções SQL são gravadas no log de auditoria. Padrão: ddl.
|
Valor |
O que é registrado em log |
|
|
Nada |
|
|
Instruções DDL: |
|
|
Instruções DDL e DML: |
|
|
Todas as instruções SQL |
Registrar menos instruções melhora o desempenho do banco de dados. O recurso SQL Explorer and Audit ajusta esse parâmetro automaticamente: ativá-lo define log_statement = all; desativá-lo define log_statement = ddl.
Para verificar a configuração atual, execute SHOW log_statement;.
Referência de parâmetros
As seções a seguir listam os parâmetros configuráveis do cluster por categoria.
Conexão e autenticação
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
Unidade |
|
|
Tempo máximo de espera para um cliente concluir a autenticação. O servidor encerra a conexão se o limite for excedido, impedindo que clientes ociosos retenham recursos de conexão. |
60 |
1–600 |
segundos |
|
|
Ativa conexões criptografadas via Secure Sockets Layer (SSL). |
OFF |
ON/OFF |
— |
Autovacuum
O processo autovacuum recupera espaço de tuplas mortas (linhas deixadas por dados excluídos ou atualizados) e atualiza as estatísticas das tabelas. Ambas as funções são críticas para manter o desempenho das consultas ao longo do tempo.
Mesmo com o autovacuum desativado, o sistema ainda aciona processos de vacuum para evitar o estouro do ID de transação.
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
Unidade |
|
|
Ativa o processo em segundo plano do autovacuum. Requer |
ON |
ON/OFF |
— |
|
|
Número máximo de processos worker do autovacuum (excluindo o launcher) executados simultaneamente. |
5 |
1–262.143 |
processos |
|
|
Pausa mínima entre rodadas de autovacuum em um determinado banco de dados. Cada rodada emite comandos |
30 |
1–2.147.483 |
segundos |
|
|
Quantidade mínima de tuplas alteradas (inseridas, atualizadas ou excluídas) necessária para acionar o |
50 |
0–2.147.483.647 |
tuplas |
|
|
Fração do tamanho da tabela somada ao |
0,02 |
0–100 |
porcentagem |
|
|
Quantidade mínima de tuplas alteradas necessária para acionar o |
50 |
0–2.147.483.647 |
tuplas |
|
|
Fração do tamanho da tabela somada ao |
0,05 |
0–2.147.483.647 |
porcentagem |
|
|
Idade máxima do ID de transação que uma tabela pode atingir antes da execução de um VACUUM forçado para evitar o estouro do ID de transação. O sistema aciona esse vacuum mesmo com o autovacuum desativado. |
500.000.000 |
100.000–2.000.000.000 |
IDs de transação |
|
|
Idade máxima do ID de multixact antes da execução de um VACUUM forçado para evitar o estouro do ID de multixact. O sistema aciona esse vacuum mesmo com o autovacuum desativado. |
700.000.000 |
10.000–2.000.000.000 |
IDs de transação |
|
|
Atraso de custo aplicado às operações de autovacuum. Defina como |
0 |
-1–100 |
milissegundos |
|
|
Limite total de custo para operações de autovacuum, distribuído proporcionalmente entre todos os processos worker em execução. Defina como |
10.000 |
-1–10.000 |
valor de custo |
Checkpoints e gravação em segundo plano
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
Unidade |
|
|
Intervalo máximo entre checkpoints automáticos de WAL. |
30 |
30–86.400 |
segundos |
|
|
Pausa entre rodadas do background writer que liberam páginas sujas para o disco. |
600.000 |
10–10.000 |
milissegundos |
|
|
Número de páginas sujas que um processo backend pode gravar antes que o SO libere o cache de arquivos para o disco. Defina como |
0 |
0–256 |
blocos |
|
|
Grava o conteúdo completo de uma página de dados no WAL na primeira modificação após um checkpoint. Evita corrupção de página parcial após falhas de energia. |
OFF |
ON/OFF |
— |
|
|
Memória compartilhada usada como buffer para dados do WAL antes da gravação em disco. |
16 MB |
-1–262.143 (até 2.097.144 KB) |
Blocos WAL (8 KB cada) |
|
|
Consulte Parâmetros importantes. A alteração deste parâmetro reinicia o banco de dados. |
replica |
replica/logical |
— |
|
|
Pausa máxima entre rodadas de liberação do walwriter. |
600.000 |
1–10.000 |
milissegundos |
Planejamento e execução de consultas
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
|
|
Controla se o planejador usa restrições |
partition |
on/off/partition |
|
|
Estimativa de custo do planejador para processar cada entrada de índice durante uma varredura de índice. |
0,005 |
0–1,79769e+308 |
|
|
Estimativa de custo do planejador para processar cada operador ou função em uma consulta. |
0,0025 |
0–1,79769e+308 |
|
|
Estimativa de custo do planejador para processar cada linha em uma consulta. |
0,01 |
0–1,79769e+308 |
|
|
Ativa a poda de partições durante o planejamento e a execução para ignorar a varredura de partições irrelevantes. |
ON |
ON/OFF |
|
|
Estimativa de custo do planejador para buscar uma página em uma varredura sequencial. |
1 |
0–1,79769e+308 |
|
|
Ativa a compilação Just-In-Time (JIT) para consultas elegíveis, acelerando a execução. |
OFF |
ON/OFF |
Configurações de timeout
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
Unidade |
|
|
Tempo que uma transação aguarda por um bloqueio antes que o sistema verifique a ocorrência de deadlock. |
1.000 |
0–2.147.483.647 |
milissegundos |
|
|
Tempo máximo que uma sessão pode permanecer ociosa dentro de uma transação. A sessão é encerrada quando esse limite é excedido. Defina como |
3.600.000 |
0–2.147.483.647 |
milissegundos |
|
|
Tempo máximo que uma operação aguarda para adquirir um bloqueio. A operação falha com um erro quando esse limite é excedido. Defina como |
0 |
0–2.147.483.647 |
milissegundos |
|
|
Tempo máximo de execução para uma única instrução SQL. A instrução é cancelada quando esse limite é excedido. Defina como |
0 |
0–262.143 |
milissegundos |
Logs e auditoria
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
Unidade |
|
|
Ativa o processo coletor de logs, que captura e grava a saída de log durante a operação do cluster. |
ON |
ON/OFF |
— |
|
|
Registra em log cada conexão bem-sucedida de cliente. |
OFF |
ON/OFF |
— |
|
|
Registra em log cada desconexão de cliente. |
OFF |
ON/OFF |
— |
|
|
Controla o nível de detalhe incluído nas mensagens de log de erro. |
default |
terse/default/verbose |
— |
|
|
Registra em log qualquer instrução SQL que ultrapasse o limiar especificado. Defina como |
5.000 |
0–2.147.483.647 |
milissegundos |
|
|
Consulte Parâmetros importantes. |
ddl |
none/ddl/mod/all |
— |
Replicação e alta disponibilidade
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
|
|
Permite que nós somente leitura aceitem consultas desse tipo durante a recuperação. |
ON |
ON/OFF |
|
|
Envia feedback dos nós somente leitura para o nó primário sobre consultas ativas. Quando ativado, o primário atrasa a limpeza de versões de linhas ainda necessárias pelas consultas do nó somente leitura, reduzindo conflitos de consulta. |
ON |
ON/OFF |
|
|
Número máximo de slots de replicação suportados pelo cluster. |
64 |
0–262.143 |
Gerenciamento de recursos
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
Unidade |
|
|
Método de implementação para memória compartilhada dinâmica. |
posix |
posix/sysv/mmap |
— |
|
|
Tamanho máximo da lista pendente para um índice Generalized Inverted Index (GIN) no modo de atualização rápida. |
4.096 |
64–2.097.151 |
KB |
|
|
Solicita páginas de memória grandes ao sistema operacional quando disponíveis. |
ON |
ON/OFF |
— |
|
|
Número máximo de identificadores de arquivo que cada processo em segundo plano pode abrir simultaneamente. |
10.000 |
64–2.147.483.647 |
— |
|
|
Número máximo de bloqueios que uma única transação pode reter. |
64 |
10–2.147.483.647 |
— |
|
|
Número máximo de transações que podem estar no estado preparado (protocolo de commit em duas fases) simultaneamente. |
800 |
0–262.143 |
— |
|
|
Número máximo de processos worker em segundo plano que o cluster pode iniciar, incluindo workers de consulta paralela. |
256 |
0–262.143 |
— |
|
|
Tamanho total máximo de arquivos temporários (usados para ordenação, hash e operações similares) que um único processo backend pode criar. Defina como |
104.857.600 (100 GB) |
-1–2.147.483.647 |
KB |
Formatação e comportamento
|
Parâmetro |
Descrição |
Padrão |
Intervalo |
|
|
Formato de exibição para valores de data e hora. Combine um formato de saída ( |
|
Ver descrição |
|
|
Obsoleto. A versão atual não suporta mais OIDs, portanto, este parâmetro só pode ser definido como |
OFF |
Apenas OFF |
|
|
Número de dígitos significativos extras exibidos para valores de ponto flutuante além da precisão padrão. Valores mais altos produzem uma saída mais precisa. |
0 |
-15–3 |
|
|
Força a liberação das alterações de dados do cache do SO para o disco após operações como |
ON |
ON/OFF |
|
|
Fuso horário usado para exibir e interpretar timestamps na sessão. Para valores disponíveis, consulte o intervalo de modificação de parâmetros no console. |
|
Nomes de fuso horário padrão, por exemplo, |