As transações não estão bloqueando. O banco de dados está aguardando o aplicativo enviar a próxima instrução.
O bloqueio no ID da transação é apenas uma técnica para as transações bloquearem umas às outras, mesmo que não estejam disputando um bloqueio de tabela (por exemplo, se estiverem aguardando um bloqueio de linha):cada transação possui um bloqueio exclusivo por conta própria ID da transação e, se tiver que aguardar a conclusão de uma transação simultânea, pode apenas solicitar um bloqueio no ID dessa transação (e ser bloqueado).
Se todas as transações forem assim, o bloqueio deve estar em algum lugar em seu aplicativo; o banco de dados não está envolvido.
Ao procurar processos bloqueados no banco de dados, procure linhas em
pg_locks
onde granted
é falso.