Re: plperl function fails to "fire" Slony trigger

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Jan Wieck <JanWieck(at)Yahoo(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Sven Willenberger <sven(at)dmv(dot)com>, postgres-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: plperl function fails to "fire" Slony trigger
Date: 2005-04-22 18:43:42
Message-ID: 20050422184342.GD14419@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Apr 22, 2005 at 02:24:57PM -0400, Jan Wieck wrote:
> On 4/22/2005 2:08 PM, Tom Lane wrote:
>
> >Sven Willenberger <sven(at)dmv(dot)com> writes:
> >>We have a replication set up between 2 servers using Slony; both are
> >>runnind PostgreSQL 8.0.1. The issue is that when updates/inserts are
> >>made to a replicated table, the replication does not occur; apparently
> >>this is due to spi_exec somehow not allowing/causing the slony trigger
> >>function to fire.
> >
> >Yuck :-(. The only idea that comes to mind is that 8.0 changed the
> >timing of trigger firing --- the triggers are probably firing while your
> >function still has control, whereas in earlier releases they'd only fire
> >after it returns. Could this be breaking some assumption Slony makes
> >about the order of operations?
>
> Slony triggers are AFTER ROW triggers. All they do is one SPI_execp() to
> insert the log row. The only way that could possibly be suppressed is by
> bypassing the executor and doing direct heap_ access.
>
> So how does plperl manage that?

It doesn't; it only uses SPI. I guess we would need the original
function to see what is really happening.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Limítate a mirar... y algun día veras"

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2005-04-22 18:47:39 Re: libpq Unicode support?
Previous Message Tom Lane 2005-04-22 18:34:56 Re: libpq Unicode support?