Взаимная блокировка: транзакция A ждет ресурс, занятый B, а B ждет ресурс, занятый A. СУБД обнаруживает deadlock и откатывает одну из транзакций (жертва). Избежание: фиксированный порядок блокировки ресурсов (всегда блокировать в одном порядке, например по id); короткие транзакции; избегать цепочек ожидания; ретраи при deadlock. Мониторинг: логирование deadlock, pg_stat_activity.