Re: Hanging Query

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: vimal(dot)gupta(at)gmail(dot)com
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Hanging Query
Date: 2006-01-14 18:05:35
Message-ID: 20665.1137261935@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

vimal(dot)gupta(at)gmail(dot)com writes:
> We have to inserts a records(15000- 20000) into a table which also
> contains (15000-20000) records, then after insertion, we have to delete
> the records according to a business rule.
> Above process is taking place in a transaction and we are using batches
> of 128 to insert records.
> Everything works fine on QA environment but somehow after inserts,
> delete query hangs in production environment. Delete query has some
> joins with other table and a self join. There is no exception as we
> have done enough exception handling. It simply hangs with no trace in
> application logs.

> When I do "ps aux" , I see
> postgres 5294 41.3 2.4 270120 38092 pts/4 R 10:41 52:56
> postgres: nuuser nm 127.0.0.1 DELETE

That doesn't look to me like it's "hanging"; it's trying to process
some unreasonably long-running query. If I were you I'd be taking
a closer look at that DELETE command. It may contain an unconstrained
join (cross-product) or some such. Try EXPLAINing the command and
look for unexpected table scans.

> Postgres 7.3.4 on Linux..

That's mighty ancient and has many known bugs. Do yourself a favor
and update to some newer version --- at the very least, use the latest
7.3 branch release (we're up to 7.3.13 now).

regards, tom lane

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2006-01-14 18:10:28 Re: >= forces row compare and not index elements compare when possible
Previous Message Tomka Gergely 2006-01-14 17:55:49 Re: big databases & hospitals