are there ways for 'idle timeout'?

Поиск
Список
Период
Сортировка
От Konstantin Pelepelin
Тема are there ways for 'idle timeout'?
Дата
Msg-id opsavj6izuhocrah@cathost.of.dtf.ru
обсуждение исходный текст
Ответы Re: are there ways for 'idle timeout'?
Список 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

В списке pgsql-admin по дате отправления:

Предыдущее
От: Stef
Дата:
Сообщение: Re: Bad dumps...
Следующее
От: Bruno Wolff III
Дата:
Сообщение: Re: [PHP] Secure DB Systems - How to