Russell Smith wrote:
Joshua D. Drake wrote:
Hello,
I ran into an interesting problem with a customer today. They are
running Jabber XCP (not the one we use). Unfortunately, the product
has a bug that causes it to leave connections persistent in a
transaction state. This is what it does:
BEGIN; SELECT 1;
Basically it is verifying that the connection is live. However, it
never calls commit. So what happens? We can't vacuum ;).
Anyway, my thought is, we know when a transaction is idle, why not
have an idle timeout where we will explicitly close the connection or
rollback or something? User configurable of course.
I agree with this, it reduces the long running transaction problem a
little where the user forgot to commit/rollback their session. I may be
worth having a transaction_timeout as well, and setting it to link a few
hours by default. That way you can't have really long running
transactions unless you specifically set that.
We would certainly need to be able to disable on the fly too just with
SET as well.
Joshua D. Drake
Sincerely,
Joshua D. Drake
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
--
=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster