Re: async notify con libpq

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx>
Cc: Mario Soto Cordones - Venezuela <msotocl(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: async notify con libpq
Date: 2005-10-10 16:23:16
Message-ID: 20051010162316.GB5848@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Manuel Sugawara wrote:
> Mario Soto Cordones - Venezuela <msotocl(at)gmail(dot)com> writes:
>
> > Con trigger o regla, mi problema es el mismo
>
> No, a lo que me refiero es que sincronizes las tablas por medio de
> triggers y te evites del todo el tener un ``demonio'' externo para su
> sincronización. El esquema del demonio es bastante frágil, tedioso y
> propenso a errores y no le veo la más mínima ventaja sobre usar
> triggers que lo hagan al vuelo y de forma transaccionalmente correcta.

Si mal no recuerdo, Mario tenia el modelo hecho con triggers pero le
resultaba muy lento, y aca le sugerimos que usara LISTEN/NOTIFY.

Lo malo del modelo con triggers era que la transaccion que estaba
lanzando el trigger tenia que quedarse esperando a que el trigger
terminara, cosa que era muy lenta.

Claro que ahora que repetimos el tema, se me ocurre que quizas la idea
de reconstruir desde cero la vista materializada es una mala idea y
puede optimizarse -- en lugar de hacer eso, el trigger podria hacer una
actualizacion incremental que mantenga los invariantes de la vista
materializada. Eso podria ser mucho mas rapido, y el sobrecosto de
tener el trigger ejecutandose para cada registro cambiado no seria tan
alto.

--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Acepta los honores y aplausos y perderás tu libertad"

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-10-10 16:25:56 Re: async notify con libpq
Previous Message Manuel Sugawara 2005-10-10 16:22:33 Re: async notify con libpq