There are many interfaces that doesn't support canceling a long query other
than killing the application or killing the backend using the server
operational system.
I've searched the docs, faqs and list archives; seen a lot of questions but
no answers.
So I hacked a small pggetpid and pgkillpid C functions, and now I can learn
the backend's PID, start the query in a new thread, and kill the backend
using another connection if I want. Its ugly, I know, but worked wonderfully
with ODBC, the Delphi developers here and the users are very happy.
Questions are:
1) is there a better way to do that?
2) is it safe to kill the backend this way (other than an user killing the
wrong postgres owned proccess)?
3) is this useful for anyone else?
Regards,
--
Paulo Scardine