SQL Academy · Aula

pgBadger para análise de registros

Execute pgBadger sobre os registros do PostgreSQL para gerar relatórios HTML de consultas lentas, esperas por bloqueios e padrões de conexão.

Aula 2 de 413 etapas

pgBadger para análise de registros é uma aula grátis de SQL Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de SQL Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de SQL Academy inclui 4 aulas no total.

O que é pgBadger

Um analisador de registros do PostgreSQL baseado em Perl que produz belos relatórios HTML sobre consultas lentas, esperas por bloqueios, erros e padrões de conexão. Execute-o periodicamente nos seus registros.

Configurar o registro

postgresql.conf:

log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_min_duration_statement = '500ms'
log_lock_waits = on
log_temp_files = 0
log_checkpoints = on
log_connections = on
log_disconnections = on
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '

Executar pgBadger

Gere um relatório:

pgbadger /var/log/postgresql/postgresql-2024-03-15.csv \
  -o report.html

# Multiple files:
pgbadger /var/log/postgresql/*.csv -o report.html

O que há no relatório

  • Consultas mais lentas, com exemplos
  • Consultas mais frequentes
  • Consultas que consomem mais tempo
  • Esperas por bloqueios
  • Erros
  • Padrões de conexão ao longo do tempo
  • Uso de arquivos temporários
  • Atividade de checkpoints e vacuum

Modo incremental

Para análise contínua dos registros, gere relatórios diários:

pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/*.csv
# Updates an HTML dashboard incrementally.

Execução automática via Cron

Tarefa noturna:

0 1 * * * pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/postgresql-`date +%F`.csv

Versus pg_stat_statements

pg_stat_statements: métricas agregadas, dentro do banco de dados.
pgBadger: analisa registros brutos e encontra padrões que as agregações não identificam (esperas por bloqueios, erros e tempestades de conexões).

Obter padrões de espera por bloqueios

pgBadger resume as esperas por bloqueios — quais consultas bloquearam quais outras e por quanto tempo. É excelente para diagnosticar problemas de deadlock e contenção.

Seção de erros

Contagem de cada código de erro. "23505 unique_violation: 12,000 times" é um alerta — a aplicação está tentando novamente inserções duplicadas.

Arquivos temporários

Consultas que transferem dados para o disco (ordenação ou hash grandes demais para work_mem):

log_temp_files = 0     -- log all temp file usage
-- pgBadger summarises queries that created temp files.

Alternativas na nuvem

RDS Performance Insights, Cloud SQL Query Insights e outros fazem análises semelhantes em ambientes gerenciados — geralmente com base nas mesmas fontes de estatísticas.

Resumo

pgBadger transforma os registros do Postgres em um painel.

  • Defina log_min_duration_statement
  • Gere relatórios HTML periódicos
  • Encontre esperas por bloqueios, arquivos temporários e padrões de erros
  • Complementa pg_stat_statements

Verificação rápida

Você observa que sua aplicação tenta novamente muitas inserções. Qual configuração de registro do Postgres ajuda a confirmar isso?

Grátis para começar

Aprenda SQL com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
46
Aulas
183

Perguntas Frequentes

A aula “pgBadger para análise de registros” é grátis?

Sim — o texto completo de “pgBadger para análise de registros” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de SQL Academy, atualize para CoddyKit PRO. O curso de SQL Academy inclui 4 aulas no total.

O que vou aprender em “pgBadger para análise de registros”?

Execute pgBadger sobre os registros do PostgreSQL para gerar relatórios HTML de consultas lentas, esperas por bloqueios e padrões de conexão. Você pratica SQL Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar SQL Academy?

Nenhuma experiência prévia é necessária. SQL Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “pgBadger para análise de registros”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de SQL Academy?

Sim. Cada aula de SQL Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. pg_stat_statements: principais consultas
  2. pgBadger para análise de registros
  3. Agrupamento de conexões: PgBouncer
  4. Planejamento de capacidade e auditorias de fragmentação
← Voltar para SQL Academy