Emanuel Calvo Franco escribió: > El día 14 de abril de 2009 15:46, Alvaro Herrera > <[email protected]> escribió: > > > > create or replace function pg_terminate_backend(int) returns int > > language plperlu as $$ > > $pid = shift; > > $ret = kill TERM, $pid; > > elog WARNING, "could not send signal TERM to $pid: $!" unless $ret > > == 1; > > return $ret; > > $$; > > Vos sabes que hice esta función y no mata la sesión...
Bueno, obviamente no es la misma función, porque la mía funciona :-) No estoy usando system(), que la hace muy lenta y algo peligrosa en mi opinión, sino una llamada kill() directamente. En todo caso lo de arriba no es más que un esbozo; falta agregar las protecciones para que la función no mate su propia sesión, y otra que sólo permita enviar señales a procesos backends. > De todas maneras lo que se me ocurre que se puede crear el script y > llamarlo con la función system. Cada vez que veo a alguien escribiendo código con system() mi opinión es "ugh". -- Alvaro Herrera http://www.advogato.org/person/alvherre "Ed is the standard text editor." http://groups.google.com/group/alt.religion.emacs/msg/8d94ddab6a9b0ad3 -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
