I have long commits on a production database. To know why this happens I organized a snapshot system on table pg_stat_activity.
When I check the result I have this row in it:
postgres=# select * from public.fdj_ms_slow_stmts where pid = 2285947 \gx
What is the full version()? What is the query used to populate this snapshot table? Are the advisory locks being used as session-level locks or transaction-level locks?