postgres postgresql log

Logs

Diversos eventos podem ser do interesse do administrador do banco de dados. Falhas de autenticação podem indicar tentativas de ataques. Conexões perdidas podem indicar problemas na rede ou na aplicação. Execuções muito frequentes do checkpointer podem indicar parâmetros de memória inadequados. Locks de longa duração e deadlocks indicam problemas na lógica da aplicação. Mesmo início e fim do serviço são informações importantes, assim como alterações de parâmetros. Cada um dos possíveis eventos gera uma ou mais mensagens, com níveis diferentes de severidade. E essas mensagens são enviadas e armazenadas para consumo do administrador.

Portanto, se torna necessário ajustar as configurações de logs, tanto para que eles contenham todas as informações que precisaremos, quanto para que não contenham informações demais, que consomem recursos desnecessários.

Algumas das configurações que controlam o destino dos logs:

Algumas das configurações que controlam quando gerar mensagens:

Algumas das configurações que controlam quais informações logar:

Também é possível adicionar um identificador da instância/cluster, que fica visível no nome do processo, em logs e sistemas de monitoramento, seguinte forma: cluster_name = 'db_webapp_prod'.

Prática

  1. Habilite algumas das sugestões de logs do pgBadger: http://pgbadger.darold.net/documentation.html#POSTGRESQL-CONFIGURATION
  2. Execute alguns comandos para gerar algum volume de logs
  3. Confira os logs gerados, especialmente o resultado do log_line_prefix
  4. (opcional) Alimente o pgBadger com os logs gerados e estudar o relatório dele