From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Mario Soto Cordones - Venezuela <msotocl(at)gmail(dot)com> |
Cc: | Lista postgreslq Postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: query asincronico y SPI |
Date: | 2005-09-24 00:23:45 |
Message-ID: | 20050924002345.GA10494@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, Sep 23, 2005 at 05:24:45PM -0400, Mario Soto Cordones - Venezuela wrote:
> He leido la documentacion oficial de LISTEN , pero creo que es muy
> ambigua, realmente no entiendo como implementar un LISTE, alguien lo
> ha hecho antes o alguien sabe de alguien que haya escrito algo
> respecto este tema ya que la documentacion oficial tiene solo una
> pagina y 2 para el NOTIFY
Simplemente escoge un string cualquiera y usa el mismo para ambos. O
sea el trigger debe hacer "NOTIFY foo" y el proceso que actualiza la
vista hace "LISTEN foo".
Si el "listener" esta hecho en C con libpq, simplemente debes hacer un
loop y en cada ciclo llamas a la funcion PQnotifies(). Si hay algo es
porque te mandaron una notificacion, si no hay nada duermes un rato y
sigues con el loop:
http://developer.postgresql.org/docs/postgres/libpq-notify.html
Observa que al final de esa pagina se indica como construir un loop con
la funcion select(), de manera que ni siquiera es necesario que te
pongas a "dormir" en cada ciclo. Buena! No sabia eso.
--
Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4
"There was no reply" (Kernel Traffic)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-09-24 00:27:19 | Re: Ayuda con la conexion - Urgente |
Previous Message | junix | 2005-09-23 21:47:11 | pgadmin |