more methods:

1. select * from pg_stat_activity;
see what all running and pid of your current query also.

2. SELECT h.pid AS blocker, w.pid AS blockee
  FROM ONLY pg_locks h, ONLY pg_locks w
 WHERE h."granted" AND NOT w."granted" AND (h.relation = w.relation
AND h."database" = w."database" OR h."transaction" = w."transaction");

make sure that the pid in 1 is not listed as a blockee in result of
above query m, ie The the update is waiting for anything.

3. go the shell , su - postgres ,

strace -p <pid> of the backend got in 1.
observe the system calls , see if anything awkward
there shoud be a lot of writes

4. iostat ofcourse, unless the above sql is the only sql(update)
  running running in server .

my 4cents
regds
mallah.

On 3/29/07, Andrew Sullivan <[EMAIL PROTECTED]> wrote:
On Wed, Mar 28, 2007 at 04:59:24PM -0400, Sumeet wrote:
> Hi all,
>
> I have ran a update query on a dataset which has about 48 million records
> and the query is already running for the third day....im so tempted to the
> kill this query now....is there a way to know if the query is running??
> here is the query i've ran

48 million records is a lot.  You oughta see activity with iostat or
something.

A

--
Andrew Sullivan  | [EMAIL PROTECTED]
When my information changes, I alter my conclusions.  What do you do sir?
                --attr. John Maynard Keynes

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to