Обсуждение: how to cancel a query ?
Hello, ist there any way to cancel a user query as dba ? regards -andreas -- Andreas Schmitz - Phone +49 201 8501 318 Cityweb-Technik-Service-Gesellschaft mbH Friedrichstr. 12 - Fax +49 201 8501 104 45128 Essen - email a.schmitz@cityweb.de
Andreas Schmitz <a.schmitz@cityweb.de> writes: > ist there any way to cancel a user query as dba ? Send a SIGINT to the backend process running that query, eg kill -INT <pid> This has the same effect as a user-requested cancel (eg ^C in psql). regards, tom lane
Tom Lane wrote: > Andreas Schmitz <a.schmitz@cityweb.de> writes: > > ist there any way to cancel a user query as dba ? > > Send a SIGINT to the backend process running that query, eg > > kill -INT <pid> > > This has the same effect as a user-requested cancel (eg ^C in psql). And finally documented in 7.3. ;-) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
On Wednesday 04 December 2002 17:47, Tom Lane wrote: > Andreas Schmitz <a.schmitz@cityweb.de> writes: > > ist there any way to cancel a user query as dba ? > > Send a SIGINT to the backend process running that query, eg > > kill -INT <pid> > > This has the same effect as a user-requested cancel (eg ^C in psql). > What about an implementation into the command structure ? regards -andreas -- Andreas Schmitz - Phone +49 201 8501 318 Cityweb-Technik-Service-Gesellschaft mbH Friedrichstr. 12 - Fax +49 201 8501 104 45128 Essen - email a.schmitz@cityweb.de
If you wanted to do something programatically, couldn't you define some functions that would allow you say implement a query id, and embed a function call in the where clause like select getNextQueryId() where ...... and queryStillActive(query_id) = true Then another function could be called to kill the query either from within the program, or externally like stopQuery(query_id). You probably wouldn't want to do this for every query, but if you know you have some potentially long running queries, then.... Eric > -----Original Message----- > From: Andreas Schmitz [mailto:a.schmitz@cityweb.de] > Sent: Thursday, December 05, 2002 7:51 AM > To: Tom Lane; pgman@candle.pha.pa.us > Cc: pgsql-admin@postgresql.org > Subject: Re: [ADMIN] how to cancel a query ? > > > On Wednesday 04 December 2002 17:47, Tom Lane wrote: > > Andreas Schmitz <a.schmitz@cityweb.de> writes: > > > ist there any way to cancel a user query as dba ? > > > > Send a SIGINT to the backend process running that query, eg > > > > kill -INT <pid> > > > > This has the same effect as a user-requested cancel (eg ^C in psql). > > > > What about an implementation into the command structure ? > > regards > > -andreas > > -- > Andreas Schmitz - Phone +49 201 8501 318 > Cityweb-Technik-Service-Gesellschaft mbH > Friedrichstr. 12 - Fax +49 201 8501 104 > 45128 Essen - email a.schmitz@cityweb.de > > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >
Andreas Schmitz wrote: > On Wednesday 04 December 2002 17:47, Tom Lane wrote: > > Andreas Schmitz <a.schmitz@cityweb.de> writes: > > > ist there any way to cancel a user query as dba ? > > > > Send a SIGINT to the backend process running that query, eg > > > > kill -INT <pid> > > > > This has the same effect as a user-requested cancel (eg ^C in psql). > > > > What about an implementation into the command structure ? Libpq has: PQrequestCancel() Where else did you want it? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
I was asking on the pyPgSQL list whether the PQrequestCancel() would allow that if a user submitting queries from Python closed the Python shell, the query would be cancelled (a la ^C in psql). This led me to: If the connection from which a synchronous query ("libpq->connection.query()") was submitted is closed, should libpq assume a PQrequesCancel() and cancel the query at the same time? Isn't this the analog of ^C in psql? Thanks, Murthy -----Original Message----- From: Bruce Momjian [mailto:pgman@candle.pha.pa.us] Sent: Thursday, December 05, 2002 14:19 To: a.schmitz@cityweb.de Cc: Tom Lane; pgsql-admin@postgresql.org Subject: Re: [ADMIN] how to cancel a query ? Andreas Schmitz wrote: > On Wednesday 04 December 2002 17:47, Tom Lane wrote: > > Andreas Schmitz <a.schmitz@cityweb.de> writes: > > > ist there any way to cancel a user query as dba ? > > > > Send a SIGINT to the backend process running that query, eg > > > > kill -INT <pid> > > > > This has the same effect as a user-requested cancel (eg ^C in psql). > > > > What about an implementation into the command structure ? Libpq has: PQrequestCancel() Where else did you want it? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)