Eu quero detectar e registrar todos os deadlocks que ocorreram no meu servidor PostgreSQL, de preferência incluindo os detalhes das consultas. Isso é possível no PostgreSQL.
Eu quero uma solução como o Extended Events fornece no MS SQL.
Eu quero detectar e registrar todos os deadlocks que ocorreram no meu servidor PostgreSQL, de preferência incluindo os detalhes das consultas. Isso é possível no PostgreSQL.
Eu quero uma solução como o Extended Events fornece no MS SQL.
A detecção acontece automaticamente, assim como o registro, a menos que você defina
log_min_messages
comofatal
oupanic
.O evento de deadlock e as instruções envolvidas são gravadas no log do PostgreSQL (e você não pode registrá-los em um arquivo diferente). Essas informações geralmente são insuficientes para determinar a causa raiz (porque isso geralmente depende de instruções anteriores na mesma transação, sobre as quais o PostgreSQL não retém memória).
Idealmente, ao ver as instruções registradas com o deadlock, você pode determinar o que o aplicativo estava fazendo e partir daí, mas algumas investigações não podem ser evitadas.