PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisation du processeur à 100 % causée par une requête postgres inconnue

J'ai eu un problème similaire. C'était dû à - certaines transactions étaient bloquées et fonctionnaient depuis longtemps. Ainsi, l'utilisation du processeur était à 100% tout le temps. La commande suivante a aidé à trouver les connexions en cours d'exécution depuis le plus longtemps :

SELECT max(now() - xact_start) FROM pg_stat_activity
                           WHERE state IN ('idle in transaction', 'active');

Cette commande affiche le temps écoulé depuis qu'une connexion est en cours d'exécution. Ce temps ne doit pas être supérieur à une heure. Donc, tuer la connexion qui fonctionnait depuis longtemps ou bloquée à tout moment a fonctionné pour moi. J'ai suivi ce message pour le suivi et la résolution de mon problème. Publier comprend de nombreuses commandes utiles pour surveiller cette situation.