Uwe Schroeder wrote:
I've googled, but there's 0 hits. I have an issue with a ton of "idle in transaction" backends. What I noticed is when I look at pg_locks, pretty much all of the processes being idle in transaction have an exclusive lock of locktype "virtualidx
"Idle in Transaction" occurs when a client has issued a BEGIN; and is then just sitting there.
We had this problem extensively with our Java code some years back when the PostgreSQL JDBC module was issuing a BEGIN; right after a COMMIT or ROLLBACK when not in autocommit mode. An updated version of JDBC postponed this automatic BEGIN until the first command was issued. Since we had some connections which would sit idle for hours, this would prevent VACUUM from cleaning anything newer than the oldest pending transaction.
. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general