Re: '<IDLE> in transaction' problem in mod_perl/DBI/DBD-Pg

From: Tsirkin Evgeny <tsurkin(at)mail(dot)jct(dot)ac(dot)il>
To: Rajesh Kumar Mallah <mallah(at)trade-india(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: '<IDLE> in transaction' problem in mod_perl/DBI/DBD-Pg
Date: 2004-10-25 13:42:02
Message-ID: Pine.LNX.4.58.0410251541210.15606@p-roman.jct.ac.il
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

probably you had a deadlock and the postgresql solved it
by itself if that is true - you will have another one soon.

On Mon, 25 Oct 2004, Rajesh Kumar Mallah wrote:

> Hi,
>
>
> Somehow those pids automatically got terminated
> and my problem was solved. I did not issue any kill as i
> do not have access to the server.
>
> curious how it happened any idea??
>
> Regds
> mallah.
>
>
>
> Tsirkin Evgeny wrote:
>
> >On Mon, 25 Oct 2004, Rajesh Kumar Mallah wrote:
> >
> >
> >
> >>Hi,
> >>
> >>We run our webserver using mod_perl and perl/DBI/DBD-Pg .
> >>I have observed that most of the pg backends that block other queries
> >>are in '<IDLE> in transaction' state. Usually sending a -INT or -TERM
> >>to such blocking backends solve the problem.
> >>
> >>My question is
> >>
> >>1. Are there some precuation to be taken in perl/DBI programming
> >> in mod_perl environment to avoid backends getting into '<IDLE> in
> >>transaction'
> >> mode?
> >>
> >>
> >Yes.Be very carefull with transaction - that is:
> >[1] try the backends that are entering transactions to make the updates in
> >the same order ,so you will not get a deadlock.(read the manual for more
> >info).
> >[2] try to make the transactions as short as you can,if you don't need
> >transactions - don't use it ,turn the Autocommit on!
> >
> >[3] befor your updates /deletes it sometimes VERY usefull to do a select
> >for update which will lock the rows befor entering the transactions ,that
> >will avoid two backends updating same rows to enter transaction and ,so
> >avoid deadlocks.
> >
> >
> >
> >>2. Is it advisable/safe to run a daemon that TERMs such blocking backend
> >> at regular interval.
> >>
> >>
> >
> >I don't think so - that will not let postgres end the transactions and
> >so no changes will be applied,more then that - this may kill the all the
> >postgres processes .
> >
> >
> >
> >>3. Most Importantly , If a do not have access to to the host is it
> >>possible to
> >> TERMinate such backeds from psql>
> >>
> >>
> >
> >Don't know.
> >
> >
> >>Regds
> >>Mallah.
> >>
> >>
> >>---------------------------(end of broadcast)---------------------------
> >>TIP 5: Have you checked our extensive FAQ?
> >>
> >> http://www.postgresql.org/docs/faqs/FAQ.html
> >>
> >>
> >>
> >
> >
> >
>
>
>

--
Evgeny.

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2004-10-25 14:18:06 Re: db rename
Previous Message CHRIS HOOVER 2004-10-25 13:26:00 Re: db rename