Обсуждение: 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)