Объяснение
Изоляция управляет наблюдением конкурентных изменений. SELECT FOR UPDATE блокирует выбранные строки для конкурирующих операций. Deadlock возможен при разном порядке захвата и требует повторения всей транзакции.
Задача для самостоятельного решения
Два перевода захватывают счета в разном порядке. Как снизить deadlock?
Показать разбор ответа
Блокировать счета по одинаковому порядку идентификаторов и держать транзакцию короткой. Обработчик всё равно должен уметь повторить транзакцию после конфликта.