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
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 |