Transakcje w ogóle się nie blokują. Baza danych czeka, aż aplikacja wyśle następne oświadczenie.
Blokada na identyfikatorze transakcji to tylko technika blokowania się nawzajem transakcji, nawet jeśli nie walczą o blokadę tabeli (na przykład, jeśli czekają na blokadę wiersza):każda transakcja posiada własną blokadę na wyłączność ID transakcji, a jeśli musi czekać na zakończenie równoczesnej transakcji, może po prostu zażądać blokady na ID tej transakcji (i zostać zablokowane).
Jeśli wszystkie transakcje wyglądają tak, to blokada musi znajdować się gdzieś w aplikacji; baza danych nie jest zaangażowana.
Szukając procesów zablokowanych w bazie danych, poszukaj wierszy w pg_locks
gdzie granted
jest fałszywe.