Пока вы держите транзакцию открытой, все полученные блокировки активны.Если у вас есть звонок на внешний источник, который может задержать вас на длительный период времени, убедитесь, что в той же транзакции не было никаких связанных блокировок.
Другими словами: не помещайте ничего в ту же транзакцию.
Если вы не возражаете против появления новой строки перед поиском дополнительной информации, вы можете просто зафиксироватьи позже обновите строку.
Или вы извлекаете информацию из внешнего веб-сервиса еще до того, как начнете транзакцию.Это было бы самое чистое / быстрое решение для базы данных.
Типы блокировок PostgreSQL .
Как просматривать блокировки .