Re: Backend timeout

From: Erik Jones <ejones(at)engineyard(dot)com>
To: Dragan Ciric <dragan(dot)ciric(at)a-asoft(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Backend timeout
Date: 2008-09-17 20:36:15
Message-ID: 8E6BFBEA-8F44-476C-A338-17308C2B9A07@engineyard.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Sep 16, 2008, at 6:21 AM, Dragan Ciric wrote:

> Hi!
>
> We need some help.
> Sometimes we have broken connections with backend ( postgresql
> server ).
> When this occurs, we have "idle in transaction" indication on server
> side. Can you
> answer us, how long will server stay in this state and what happens
> with this
> broken connection ( client started transaction, but can't send
> commit or rollback )?

Are you absolutely positive that the client is gone? Postgres should
detect when client connections disappear and roll back any open
transactions. If you're *sure* the client connection is gone and the
transactions are stuck in idle in transaction then they may just sit
there like that until you kill them off manually. I'd make sure that
there really isn't a client process holding on to that connection by:

1. Get client_addr and client_port from pg_stat_activity
2. Go to client_addr and run (without the brackets): lsof -i
tcp:<client_port>

If there's still a client for that connection you should turn up a
process there. If that's the case then you should be tracking down
why your client connection are holding on to open transactions.

Erik Jones, Database Administrator
Engine Yard
Support, Scalability, Reliability
(415) 963-4410 x 260
Location: US/Pacific
IRC: mage2k

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ben 2008-09-17 20:38:06 Re: 8.3.3 stability ?
Previous Message Edoardo Panfili 2008-09-17 20:12:36 Re: Textmatchning