Обсуждение: transaction timeout

Поиск
Список
Период
Сортировка

transaction timeout

От
Dr NoName
Дата:
Hi all,

We are using PostgreSQL in a mission-critical
application. For the most part it works really well.
However, we are repeatedly running into one problem:
sometimes our client application hangs while in
transaction and that locks up the entire database, so
that nothing else can access it. It seems silly that a
single client can bring the entire database to its
knees. What we really need to remedy this situation is
a transaction timeout. (no *not* statement timeout,
*transaction* timeout). I want postgresql to kill a
transaction that has been idle for more than N
seconds. I asked for this feature two years ago, but
AFAIK it is still not available. Any chance it could
be implemented in the next release?

thanks a lot,

Eugene

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

Re: transaction timeout

От
Tom Lane
Дата:
Dr NoName <spamacct11@yahoo.com> writes:
> However, we are repeatedly running into one problem:
> sometimes our client application hangs while in
> transaction and that locks up the entire database, so
> that nothing else can access it.

Why is your client taking such strong locks in the first place?

            regards, tom lane

Re: transaction timeout

От
Martijn van Oosterhout
Дата:
Firstly, what are the clients doing to lock the database? Normal
selects, deletes and updates don't really use locks at all.

Secondly, your OS should be noticing when the client dies and telling
PostgreSQL so it can clean up.

Could you provide more detail about what you are actually doing so we
can give hints about how to deal with it...

Hope this helps,

On Mon, Jul 25, 2005 at 07:29:28AM -0700, Dr NoName wrote:
> Hi all,
>
> We are using PostgreSQL in a mission-critical
> application. For the most part it works really well.
> However, we are repeatedly running into one problem:
> sometimes our client application hangs while in
> transaction and that locks up the entire database, so
> that nothing else can access it. It seems silly that a
> single client can bring the entire database to its
> knees. What we really need to remedy this situation is
> a transaction timeout. (no *not* statement timeout,
> *transaction* timeout). I want postgresql to kill a
> transaction that has been idle for more than N
> seconds. I asked for this feature two years ago, but
> AFAIK it is still not available. Any chance it could
> be implemented in the next release?
>
> thanks a lot,
>
> Eugene
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq

--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Вложения