Re: Uncommited transaction problem

From: Vaclav Kulakovsky <vaclav(dot)kulakovsky(at)definity(dot)cz>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Uncommited transaction problem
Date: 2002-04-10 11:07:14
Message-ID: Pine.LNX.4.44.0204101254410.1305-100000@vigo.diz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


Yes you can minimize risk by design of your application, but you can never
guarantee that your connection won't be broken in the middle of a
transaction, so I thing that there should be a method how to find blocking
backend (transaction).

Vak

On Wed, 10 Apr 2002, Martijn van Oosterhout wrote:

> On Wed, Apr 10, 2002 at 10:20:08AM +0200, Vaclav Kulakovsky wrote:
> >
> > Hi all,
> >
> > I've the following problem:
> >
> > We have client server application. Some clients are connecter via dialup
> > modem, so theirs connections are not so stable. Sometimes happens that
> > dialup connection hangs and if it is in the middle of a transaction tables
> > (rows) stay locked.
> >
> > I'm tunneling postgres through secure tunnel, so I set up keep alive on
> > that connection. If connection is really broken backend is killed by keep
> > alive packet and locks are released. But this doesn't solve my problem
> > entirely. Sometimes when client hangs (it's on M$ windows so it is normal)
> > and a user is just having coffee, connection is ok so tables/rows stay
> > locked.
>
> This is an application problem. You should write your application so that it
> does not need to hold the transaction for more than a few seconds. Surely
> killing the hung client will kill off the connection?
>
> > Problem is that I'm not able to get rid of these "dead" backends, even I
> > don't know method how to find them.
>
> The implication is that you can kill these backends. Killing them will
> rollback any changes they've made. If this doesn't bother you, why are the
> applications in a transaction at all.
>
> > Question:
> >
> > Is there any general advice how to solve/avoid this problem ?
> >
> > Is there any options how to set keep alive option on PG connections ?
> >
> > Is possible to find backend which is blocking ?
>
> You need to avoid the problem completely. Look at your system and decide
> what needs to be changed. What exactly are you trying to acheive?
>
> HTH,
> --
> Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> > Ignorance continues to thrive when intelligent people choose to do
> > nothing. Speaking out against censorship and ignorance is the imperative
> > of all intelligent people.
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Paulo Jan 2002-04-10 11:14:42 Re: Problems building 7.2.1 RPMs
Previous Message Martijn van Oosterhout 2002-04-10 10:38:26 Re: Uncommited transaction problem