Re: [GENERAL] Postgresql 8.0 and Cancel/Kill backend functions
The cancel function is implemented. See http://developer.postgresql.org/docs/postgres/functions-admin.html#FUN CT IONS-ADMIN-SIGNAL-TABLE. Kill function was considered too dangerous. Pity - I would have loved this for my test harnesses. I need to drop and recreate the database between each test and, unless I can kill them, a test that fails to close a connection victimizes all subsequent tests. (But not a showstopper in our case - we replace the connect method with a wrapper and have the harnesses keep track of the connection. This only leaves connections opened by spawned processes a problem.) It would be great if this was available as an external method I could install into a particular database. Hmm... I guess it wouldn't be difficult to write this - it would simply involve selecting the procpid from pg_stat_activity and sending a kill signal to it, wouldn't it? Yes, if you can do it from the same machine. If you want a functino that works across the network, you can look at the code for the cancel functino and create a copy that just sends a different signal. //Magnus ---(end of broadcast)--- TIP 4: Don't 'kill -9' the postmaster
Re: [GENERAL] Postgresql 8.0 and Cancel/Kill backend functions
Magnus Hagander wrote: The cancel function is implemented. See http://developer.postgresql.org/docs/postgres/functions-admin.html#FUNCT IONS-ADMIN-SIGNAL-TABLE. Kill function was considered too dangerous. Pity - I would have loved this for my test harnesses. I need to drop and recreate the database between each test and, unless I can kill them, a test that fails to close a connection victimizes all subsequent tests. (But not a showstopper in our case - we replace the connect method with a wrapper and have the harnesses keep track of the connection. This only leaves connections opened by spawned processes a problem.) It would be great if this was available as an external method I could install into a particular database. Hmm... I guess it wouldn't be difficult to write this - it would simply involve selecting the procpid from pg_stat_activity and sending a kill signal to it, wouldn't it? -- Stuart Bishop [EMAIL PROTECTED] http://www.stuartbishop.net/ ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
Re: [GENERAL] Postgresql 8.0 and Cancel/Kill backend functions
The cancel function is implemented. See http://developer.postgresql.org/docs/postgres/functions-admin.html#FUNCT IONS-ADMIN-SIGNAL-TABLE. Kill function was considered too dangerous. //Magnus -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony Caduto Sent: Wednesday, January 12, 2005 7:00 PM To: pgsql-general@postgresql.org Subject: [GENERAL] Postgresql 8.0 and Cancel/Kill backend functions Does anyone know if such functions have been added to version 8? I saw lots of discussion while searching google and saw references to patches applied and docs. Google link: http://groups-beta.google.com/group/comp.databases.postgresql. patches/browse_thread/thread/8dc627fdbe4b830d/2b4364d42a95b885?q=Cancel% 2FKill+backend+functions+--+docs_done=% 2Fgroups%3Fq%3DCancel%2FKill+backend+functions+--+docs%26qt_s% 3DSearch+Groups%26_doneTitle=Back+to+Searchd#2b4364d42a95b885 ---(end of broadcast)--- TIP 8: explain analyze is your friend ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
Re: [GENERAL] Postgresql 8.0 and Cancel/Kill backend functions
On Wed, Jan 12, 2005 at 12:00:22PM -0600, Tony Caduto wrote: Does anyone know if such functions have been added to version 8? See the 8.0 Release Notes in the development documentation: * Add function to send cancel request to other backends (Magnus) See also the System Administration Functions section in the Functions and Operators chapter. Here's an example: Session 1: CREATE FUNCTION sleep(integer) RETURNS void AS $$ sleep $_[0]; $$ LANGUAGE plperlu; SELECT sleep(60); Session 2: SELECT procpid, current_query FROM pg_stat_activity; procpid | current_query -+--- ... 95609 | SELECT sleep(60); ... SELECT pg_cancel_backend(95609); Session 1: ERROR: canceling query due to user request -- Michael Fuhr http://www.fuhr.org/~mfuhr/ ---(end of broadcast)--- TIP 8: explain analyze is your friend