Skip to main content

Gerenciar grupos de parâmetros PostgreSQL

Um grupo de parâmetros é um conjunto de configurações aplicáveis a uma ou mais instâncias PostgreSQL, facilitando ajustes centralizados sem a necessidade de alterar servidores individualmente.

Por exemplo:

O parâmetro shared_buffers define a quantidade de memória utilizada pelo PostgreSQL para cache de dados.

Usando o Console

Criar grupo de parâmetros

  1. Acesse Database > Grupos de Parâmetros.
  2. Clique em Criar grupo de parâmetros.
  3. Selecione o sistema de gerenciamento e a versão (PostgreSQL 16).
  4. Defina o nome e a descrição.
  5. Clique em Criar grupo de parâmetros.

Edição e exclusão de grupo de parâmetros

  • Para editar: clique em Mais opções > Detalhes para alterar nome e descrição.
  • Para excluir: clique em Excluir e confirme digitando o nome do grupo.
note

A exclusão é permanente e não pode ser desfeita.

Edição dos parâmetros

  1. Acesse Grupos de Parâmetros e clique em Detalhes do grupo desejado.
  2. Edite o parâmetro desejado.
  3. Instâncias associadas devem ser reiniciadas para aplicar as mudanças.

Para redefinir um parâmetro para o valor padrão, use a opção Redefinir.

Parâmetros de Configuração

Os parâmetros abaixo representam os parâmetros atualmente disponíveis para configuração no DBaaS PostgreSQL. Cada parâmetro inclui tags de compatibilidade de versão: P15 (PostgreSQL 15), P16 (PostgreSQL 16) e P17 (PostgreSQL 17).

1. Conexões

Nome do ParâmetroDescrição e Observações
max_connections P15 P16 P17Tipo: integer
Intervalo: 1 - 262.143
Padrão: 100
Descrição: Determina o número máximo de conexões simultâneas com o servidor de banco de dados.
Recomendação: Dimensione conforme necessidade da aplicação. Se > 200 conexões, use connection pooling (PgBouncer). Cada conexão consome ~5-10MB de memória.
idle_in_transaction_session_timeout P15 P16 P17Tipo: integer (unidade: ms)
Intervalo: 0 - 2.147.483.647
Padrão: 0
Descrição: Encerra sessões que permanecem ociosas dentro de uma transação por mais tempo que o definido.
Recomendação: Defina um valor entre 60.000 e 300.000ms para evitar sessões presas segurando locks e recursos.

2. Memória

Nome do ParâmetroDescrição e Observações
shared_buffers P15 P16 P17Tipo: integer (unidade: 8kB)
Intervalo: 16 - 2.147.483.647
Padrão: 32.768 (256MB)
Descrição: Define a quantidade de memória utilizada pelo PostgreSQL para cache de dados. Esta é a memória usada para cachear dados de tabelas e índices para todas as conexões.
Recomendação: Defina como 25% da memória total em servidores dedicados. Ex.: em sistema de 32GB, defina para ~8GB (1.048.576 blocos de 8kB). Valores maiores reduzem I/O de disco.
work_mem P15 P16 P17Tipo: integer (unidade: kB)
Intervalo: 64 - 2.147.483.647
Padrão: 4.096 (32MB)
Descrição: Especifica a quantidade de memória para operações de ordenação internas e tabelas hash antes de escrever em arquivos temporários no disco.
Recomendação: Defina como (RAM_total - shared_buffers) / (max_connections * 2). Ex.: 32GB RAM com 100 conexões: (32768-8192)/(100*2) = 122MB. Ajuste conforme operações de agregação.
maintenance_work_mem P15 P16 P17Tipo: integer (unidade: kB)
Intervalo: 1.024 - 2.147.483.647
Padrão: 65.536 (512MB)
Descrição: Especifica a quantidade máxima de memória para operações de manutenção como VACUUM, CREATE INDEX e ALTER TABLE.
Recomendação: Defina como 5-10% da memória do sistema. Ex.: sistema de 32GB: 1.6-3.2GB. Valores maiores aceleram operações de manutenção.
effective_cache_size P15 P16 P17Tipo: integer (unidade: 8kB)
Intervalo: 1 - 2.147.483.647
Padrão: 524.288 (4GB)
Descrição: Define o tamanho total assumido de cache em disco disponível para uma única query. Usado pelo planejador para escolher entre index scan e sequential scan.
Recomendação: Defina como 50-75% da memória total (shared_buffers + cache do SO). Ex.: sistema de 32GB: 16-24GB. Valores maiores favorecem index scans.
temp_buffers P15 P16 P17Tipo: integer (unidade: 8kB)
Intervalo: 100 - 1.073.741.823
Padrão: 1.024 (8MB)
Descrição: Define a quantidade máxima de memória temporária usada por sessão para tabelas temporárias.
Recomendação: Aumente apenas se houver uso intenso de tabelas temporárias; valores altos em muitas sessões podem elevar bastante o consumo de memória.
max_stack_depth P15 P16 P17Tipo: integer (unidade: kB)
Intervalo: 100 - 7.680
Padrão: 2.048
Descrição: Define a profundidade máxima segura da pilha de execução do servidor.
Recomendação: Mantenha próximo ao padrão, ajustando somente quando orientado pela plataforma ou por requisitos específicos de funções recursivas.

3. Write-Ahead Log (WAL)

Nome do ParâmetroDescrição e Observações
max_wal_size P15 P16 P17Tipo: integer (unidade: MB)
Intervalo: 2 - 2.147.483.647
Padrão: 1.024 (1GB)
Descrição: Define o tamanho do WAL que dispara um checkpoint durante checkpoints automáticos.
Recomendação: Mínimo 1GB para servidores ocupados, 4-8GB para workloads com alto volume de escrita. Valores maiores reduzem frequência de checkpoints, mas aumentam tempo de recuperação de crash.
min_wal_size P15 P16 P17Tipo: integer (unidade: MB)
Intervalo: 2 - 2.147.483.647
Padrão: 80 (80MB)
Descrição: Define o tamanho mínimo para reduzir WAL após checkpoints. Arquivos WAL são reciclados até atingir este tamanho.
Recomendação: Defina como 20-25% de max_wal_size. Ex.: max_wal_size=4GB, defina para ~800MB. Garante espaço suficiente para picos.

4. Autovacuum

Nome do ParâmetroDescrição e Observações
autovacuum P15 P16 P17Tipo: boolean (on/off)
Padrão: on
Descrição: Habilita ou desabilita a execução automática de VACUUM e ANALYZE.
Recomendação: Sempre habilitar (on) em produção. Crítico para manutenção de tabelas e prevenção de wraparound de transaction ID. Desabilite apenas para cargas iniciais e reabilite depois.

5. Logging

Nome do ParâmetroDescrição e Observações
log_statement P15 P16 P17Tipo: enum (none, ddl, mod, all)
Padrão: none
Descrição: Controla quais comandos SQL são registrados no log.
Recomendação: Use ddl ou mod para auditoria controlada. Evite all continuamente em produção por gerar alto volume de logs.
log_min_duration_statement P15 P16 P17Tipo: integer (unidade: ms)
Intervalo: -1 - 2.147.483.647
Padrão: -1 (desativado)
Descrição: Registra em log a duração de todas as statements SQL executadas que excedem o tempo especificado.
Recomendação: Defina como 1.000-5.000ms em produção para análise de queries. Use -1 em desenvolvimento. Valores maiores reduzem volume de logs.

6. Otimizações de Query

Nome do ParâmetroDescrição e Observações
default_statistics_target P15 P16 P17Tipo: integer
Intervalo: 1 - 10.000
Padrão: 100
Descrição: Define o nível padrão de coleta de estatísticas usado pelo planejador para estimar cardinalidade e selecionar planos de execução.
Recomendação: Aumente para 250-500 em workloads com consultas complexas e colunas com distribuição muito desigual.
random_page_cost P15 P16 P17Tipo: float
Intervalo: 0.001 - 1.000
Padrão: 4.0
Descrição: Define a estimativa do planejador do custo de uma página de disco acessada não-sequencialmente.
Recomendação: 1.1 para SSD, 2.0-3.0 para RAID rápido, 4.0+ para HDD lento. Valores menores favorecem index scans. Ajuste baseado em performance real de I/O.
seq_page_cost P15 P16 P17Tipo: float
Intervalo: 0.0 - 1.000
Padrão: 1.0
Descrição: Define a estimativa de custo de leitura sequencial de páginas em disco.
Recomendação: Normalmente mantenha em 1.0 e ajuste junto com random_page_cost quando quiser calibrar o planejador para o perfil de armazenamento da instância.
cpu_tuple_cost P15 P16 P17Tipo: float
Intervalo: 0.0 - 1.000
Padrão: 0.01
Descrição: Estima o custo de processamento de cada linha pelo planejador.
Recomendação: Ajuste somente em cenários avançados de tuning de planner, após medir o impacto nos planos de execução.
cpu_index_tuple_cost P15 P16 P17Tipo: float
Intervalo: 0.0 - 1.000
Padrão: 0.005
Descrição: Estima o custo de processamento de cada entrada de índice acessada durante uma consulta.
Recomendação: Ajuste em conjunto com cpu_tuple_cost quando houver necessidade de calibrar a preferência do planner entre index scan e seq scan.
cpu_operator_cost P15 P16 P17Tipo: float
Intervalo: 0.0 - 1.000
Padrão: 0.0025
Descrição: Estima o custo de execução de operadores e funções pelo planejador.
Recomendação: Mantenha o padrão na maioria dos casos; altere somente após benchmarking e análise detalhada de planos.
effective_io_concurrency P15 P16 P17Tipo: integer
Intervalo: 0 , 1.000
Padrão: 1
Descrição: Ajuda o planejador a estimar o número de operações I/O concorrentes que o banco pode realizar.
Recomendação: SSD: 100-200, RAID: 50-100, HDD: 5-10. 0 desativa prefetching. Valores maiores favorecem bitmap index scans.

7. Extensão pg_stat_statements

Nome do ParâmetroDescrição e Observações
pg_stat_statements_max P15 P16 P17Tipo: integer
Intervalo: 100 - 10.000.000
Padrão: 5.000
Descrição: Define o número máximo de statements distintos monitorados pela extensão pg_stat_statements.
Recomendação: Aumente em ambientes com grande variedade de consultas, observando o consumo adicional de memória compartilhada.
pg_stat_statements_track P15 P16 P17Tipo: enum (top, all, none)
Padrão: top
Descrição: Define quais statements devem ser rastreados pela extensão.
Recomendação: Use top na maioria dos ambientes. Use all apenas quando precisar rastrear statements aninhados com maior profundidade.
pg_stat_statements_track_utility P15 P16 P17Tipo: boolean (on/off)
Padrão: on
Descrição: Controla se comandos utilitários, como DDL e COPY, também entram nas estatísticas da extensão.
Recomendação: Mantenha habilitado para observabilidade mais completa, desabilitando apenas se quiser reduzir ruído nas métricas.
pg_stat_statements_track_planning P15 P16 P17Tipo: boolean (on/off)
Padrão: off
Descrição: Habilita a coleta de estatísticas de tempo de planejamento das consultas.
Recomendação: Ative quando precisar investigar overhead de planning; em uso contínuo, avalie o custo adicional de coleta.
pg_stat_statements_save P15 P16 P17Tipo: boolean (on/off)
Padrão: on
Descrição: Define se as estatísticas da extensão são persistidas entre reinicializações do servidor.
Recomendação: Mantenha habilitado para preservar histórico entre restarts e facilitar análises de tendência.

Documentação Oficial

Para mais detalhes sobre cada parâmetro: