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 ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org