Re: Kill a session

From: "Steinar H(dot) Gunderson" <sgunderson(at)bigfoot(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: Kill a session
Date: 2006-07-12 17:04:04
Message-ID: 20060712170404.GA27392@uio.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, Jul 12, 2006 at 08:43:18AM -0700, Craig A. James wrote:
>> Then you killed the wrong backend...
>> No queries run in postmaster. They all run in postgres backends. The
>> postmaster does very little actual work, other than keeping track of
>> everybody else.
>
> It turns out I was confused by this: ps(1) reports a process called
> "postgres", but top(1) reports a process called "postmaster", but they both
> have the same pid. I guess postmaster replaces its own name in the process
> table when it's executing a query, and it's not really the postmaster even
> though top(1) calls it postmaster.
>
> So "kill -15 <pid>" is NOT killing the process -- to kill the process, I
> have to use signal 9. But if I do that, ALL queries in progress are
> aborted. I might as well shut down and restart the database, which is an
> unacceptable solution for a web site.

I don't follow your logic here. If you do "kill -15 <pid>" of the postmaster
doing the work, the query should be aborted without taking down the entire
cluster. I don't see why you'd need -9 (which is a really bad idea anyhow)...

> I'm back to my original question: How do you kill a runaway query without
> bringing down the whole database? Is there really no answer to this?

Kill it with -15. If you're worried about your CGI scripts, use sudo or some
sort of client/server solution.

/* Steinar */
--
Homepage: http://www.sesse.net/

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Magnus Hagander 2006-07-12 17:20:38 Re: Kill a session
Previous Message Craig A. James 2006-07-12 16:39:54 [Fwd: Delivery Status Notification (Failure)]