PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come trovare le query che bloccano un'altra query?

Prima di eseguire DROP TABLE , esegui

SELECT pg_backend_pid();

Questo ti dirà l'ID del processo di back-end. Quindi esegui DROP TABLE nella stessa sessione del database .

Quindi, quando DROP TABLE è sospeso, avvia una nuova sessione ed esegui

SELECT pg_blocking_pids(<backend PID>);

Quindi sai quali sessioni ti stanno bloccando e puoi ucciderle o adottare misure meno dirompenti per sbarazzartene.