From: | "Konstantin Pelepelin" <checat(at)pochtamt(dot)ru> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org |
Subject: | are there ways for 'idle timeout'? |
Date: | 2004-07-09 14:36:08 |
Message-ID: | opsavj6izuhocrah@cathost.of.dtf.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Hi!
In situations where client application is unstable there is very big
chance that it will enter transaction, acquire very restrictive locks and
then hang. This means: connection is not lost, but nothing happens and any
transaction in conflict with those locks will hang too.
statement_timeout can help to detect this situation, but not to solve,
when most of applications fail. Currently the only way I see to solve is
to kill locked postgres backend, or (more difficult) find hanging client
among hundreds of similar.
I work with web-application (Apache-mod_php-Postgres), where PHP hangs
every 100000 requests or so, which means from a day to some weeks between
whole system hangs.
I could set up a cron job which will kill every postgres backend "idle in
transaction" which was started more than 10 minutes ago, but I can have
accident problems with some long-running tasks.
The best solution I see is having an (per session)
idle_transaction_timeout or idle_connection_timeout setting.
But there is no such thing in postgres!
Scanning through list I've not found any workaround.
Looking into TODO I don't see any plans for it.
Is it too difficult implementing or I've missed something or are there
workarounds?
Hoping on your responce,
Konstantin Pelepelin
From | Date | Subject | |
---|---|---|---|
Next Message | Bruno Wolff III | 2004-07-09 15:27:22 | Re: [PHP] Secure DB Systems - How to |
Previous Message | Stef | 2004-07-09 14:16:41 | Re: Bad dumps... |