[Sachchida Ojha - Wed at 04:40:09PM -0400]
> I see some long running transaction in my pg_activity_log table. My app
> becomes almost unusable. My question is
> How can I query the database to see what sql these transactions are
> running.
"<IDLE> in transaction" means that no sql query is running at the
moment.
Most probably it's a problem with the application, it starts a
transaction, but does not close it (through a commit or rollback). This
is very harmful for the performance, as the hours, days and weeks pass
by any database supporting transactions will get problems.
Restarting the application and vacuuming is a one-time-shot which should
solve the problem for a short while. For a permanent fix, the
application needs to be fixed, or you'll have to ensure that the
autocommit feature is used.