From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com> |
Cc: | Laura Martinelli <lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org, lmartinelli(at)unlu(dot)edu(dot)ar |
Subject: | Re: Re[2]: Finalizar sesión de usuario activa |
Date: | 2009-04-14 19:00:05 |
Message-ID: | 20090414190005.GU7709@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Emanuel Calvo Franco escribió:
> El día 14 de abril de 2009 15:46, Alvaro Herrera
> <alvherre(at)alvh(dot)no-ip(dot)org> 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
From | Date | Subject | |
---|---|---|---|
Next Message | Ernesto Quiñones | 2009-04-14 19:00:49 | se puede hacer? |
Previous Message | Emanuel Calvo Franco | 2009-04-14 18:54:29 | Re: [pgsql-es-ayuda] Re[2]: Finalizar sesión de usuario activa |