Eu encontrei um truque de mágica que parece funcionar. Pelo menos em uma máquina linux do ubuntu em particular.
Execute o lsof no backend postgres e encontre um socket unix assim:
postgres 6571 postgres 8u unix 0xffff81061ab3a000 205980094 /var/run/postgresql/.s.PGSQL.5432
O valor 205980094 é o inode. Embora o soquete unix do cliente conectando-se a este soquete seja anônimo, e você não pode convencer o lsof no linux para informar o ponto final dos soquetes unix, ele é criado na mesma hora que o soquete do backend. Então, parece ter um número inode que geralmente é adjacente a esse número.
Executando lsof em todo o sistema, restrição para sockets unix (usando grep), e então ordenar por essa chave ( sort -k 7 -n ) deve informar o processo responsável pela consulta.