PostgreSQL должен автоматически обнаруживать взаимоблокировки и отменять транзакции для их устранения. Это можно сделать только в том случае, если все ребра графа взаимоблокировки находятся внутри базы данных. Например, если один сеанс ожидает другого в коде Java, то у вас может быть неразрешимая тупик, потому что этот край невидим для PostgreSQL.
заблокирован 11790 (ВЫБЕРИТЕ pg_try_advisory_lock ( 77433833903597)), простаивает в транзакции
Ну, что делает 11790? Он взял блокировку, а затем решил вздремнуть, держа базу в заложниках. Это проблема программирования. Только программист может исправить это, если вы не хотите принудительно прекратить то, что делает этот сеанс. Это не тупик, поскольку 11790 ничем не заблокирован (насколько мы или база данных можем сказать).