Każda poważna baza danych musi nie tylko w poprawny sposób zapisywać dane, ale także musi dawać administratorowi możliwość sprawddzania tej aktywności. W przypadku postgresa takim narzędziem jest widok
pg_stat_activity
Dzięki niemu zobaczysz kto skąd, a nawet po co , połączył sie do serwera. Narzędzie może być przydatne podczas śledzenia przyczyn zablokowanych sesji. W kolumnach tego widoku w szczególności można znaleźć opis zakładanych locków. Przy typowym zablokowaniu rekordu na wyłączność przez 2 użytkoników znajdziesz tu np. wpis:
LOCK, transaction_id
co oznacza, że transakcja została zablokowana przez inną transakcje. Pełny wykaz możliwych locków można znaleźć w dokumentacji:
https://www.postgresql.org/docs/9.6/monitoring-stats.html#WAIT-EVENT-TABLE