are there ways for 'idle timeout'?

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

Responses

Browse pgsql-admin by date

  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...