Request: pg_cancel_backend variant that handles 'idle in transaction' sessions

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Request: pg_cancel_backend variant that handles 'idle in transaction' sessions
Date: 2015-10-30 21:20:14
Message-ID: CAHyXU0zGCi8Nr3WYWc1x20PcEjGZVZQxqc2rfuSEvYrdQKPdmw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Idle hanging transactions from poorly written applications are the
bane of my existence. Several months back one of them took down one
of hour production websites for several hours.

Unfortunately, the only way to deal with them is to terminate the
backend which is heavy handed and in some cases causes further damage.
Something like pg_cancel_transaction(pid) would be nice; it would
end the transaction regardless if in an actual statement or not.
Similarly, transaction_timeout would be a lot more effective than
statement_timeout. It's nice to think about a world where
applications don't do such things, but in this endless sea of
enterprise java soup I live it it's, uh, not realistic. This would be
lot cleaner than the cron driven sweep I'm forced to implement now,
and could be made to be part of the standard configuration across the
enterprise.

merlin

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Filip Rembiałkowski 2015-10-30 22:06:32 Re: pg_dump LOCK TABLE ONLY question
Previous Message Jim Nasby 2015-10-30 20:02:16 Re: pgxs/config/missing is... missing