Craig A. James wrote:


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?


As others have mentioned, pg_cancel_backend(pid) will stop query execution by backend process id 'pid'.

While this is often enough, if you actually want to disconnect a backend process then there is nothing to let you do this remotely. I recently did a patch for Bizgres that just implements the pg_terminate_backend(pid) function (currently #ifdef'ed out of the codebase) as a contrib so it can be easily installed. See http://pgfoundry.org/pipermail/bizgres-general/2006-May/000484.html

If you want to try it out, please read the README (it discusses possible dangers associated with sending SIGTERM to backends). And I would certainly be interested in hearing what level of success (or otherwise) you have with it!

Best wishes

Mark



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to