PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Uso da CPU 100% causado por consulta postgres desconhecida


Eu tive uma questão semelhante. Foi devido a - algumas transações estavam ficando presas e em execução por muito tempo. Assim, a utilização da CPU estava em 100% o tempo todo. O comando a seguir ajudou a descobrir as conexões em execução por mais tempo:
SELECT max(now() - xact_start) FROM pg_stat_activity
                           WHERE state IN ('idle in transaction', 'active');

Este comando mostra o tempo desde quando uma conexão está em execução. Este tempo não deve ser superior a uma hora. Então, matar a conexão que estava em execução há muito tempo ou travada em qualquer ponto funcionou para mim. Eu segui esta postagem para monitorar e resolver meu problema. Post inclui muitos comandos úteis para monitorar esta situação.