Thanks for your reply, Mark:
>> 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?
>
> ... 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
This answers my question. I've finally got a statement in concrete terms, Postgres has no way to kill a backend
processvia an SQL statement. "If Mark had to resort to this, then there is no other way."
> 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!
Thanks, but I've already implemented my own, which is essentially identical in concept to yours, but simpler in the
senseof being even less safe than yours -- I just let anyone send the signal, since I have no users other than my own
app. I'll keep my version since it's embedded in my own plug-in. That way I won't have to keep remembering to modify
thePostgres code when I upgrade. I like to keep Postgres "stock".
Craig