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

Comment trouver les requêtes qui bloquent une autre requête ?

Avant d'exécuter DROP TABLE , exécuter

SELECT pg_backend_pid();

Cela vous indiquera l'ID du processus backend. Ensuite, exécutez DROP TABLE dans la même session de base de données .

Ensuite, lorsque DROP TABLE est suspendu, démarrez une nouvelle session et exécutez

SELECT pg_blocking_pids(<backend PID>);

Vous savez alors quelles sessions vous bloquent et vous pouvez les supprimer ou prendre des mesures moins perturbatrices pour vous en débarrasser.