Re: Despues de insert lanzar un programa python (trigguer)

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Juan Carlos Villalobos C <jucavilst(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Despues de insert lanzar un programa python (trigguer)
Date: 2009-07-01 20:50:52
Message-ID: 20090701205052.GI5098@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Juan Carlos Villalobos C escribió:
> Saludos, ¿ es posible que se ejecute un programa en python luego de que
> un registro a sido insertado en una tabla ?
>
> La situación es que la BD y el python están con un proveedor de hosting
> por lo cual no tengo acceso a herramientas diferentes al cron y al
> phpPgAdmin. Pensaba si es posible crear una función/trigger en la cual se
> ejecute o se lance un programa en python.
>
> La versión de la BD es la 7.4.19

No, pero tienes las siguientes alternativas:

1. modificar tu programa para que sea una función en PL/Python en lugar
de ejecutarse por si mismo.

2. Usar NOTIFY en un trigger, y hacer que el programa esté andando
constantemente y esté bloqueado escuchando las notificaciones con
LISTEN.

Cuál de las dos es más conveniente depende de la naturaleza de las
acciones del programa. Si el programa va a tomar acciones que afectan
el mundo externo (por ej. mandar un mail, escribir un archivo en disco,
etc) es mejor la segunda alternativa (imagina que mandes un mail dentro
de una transacción y que posteriormente la transacción sea abortada por
cualquier motivo, o el servidor se caiga). Si sólo tiene que ver con el
contenido de la base de datos, lo mejor es que sea dentro de la
transacción misma.

--
Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4
"In Europe they call me Niklaus Wirth; in the US they call me Nickel's worth.
That's because in Europe they call me by name, and in the US by value!"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Hermes Colina Zambra 2009-07-01 21:14:00 Re: 8.4 - One click installer
Previous Message Juan Carlos Villalobos C 2009-07-01 20:26:12 Despues de insert lanzar un programa python (trigguer)