Re: query asincronico y SPI

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)

In response to

Responses

Browse pgsql-es-ayuda by date

  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