Christopher Browne cbbrowne at acm.org
Fri Feb 12 09:54:29 PST 2010
Something has evidently changed of late (not quite sure when) which
causes the Slony-I log triggers to break when working against PostreSQL
HEAD.

A more-or-less simplest case is demonstrated thus:

chris at dba2:/mnt/PostgreSQL/dbs> psql slonyregress1
Line style is ascii.
psql (8.5devel)
Type "help" for help.

slonyregress1=# \d table1
                         Table "public.table1"
 Column |  Type   |                      Modifiers                      
--------+---------+-----------------------------------------------------
 id     | integer | not null default nextval('table1_id_seq'::regclass)
 data   | text    | 
Indexes:
    "table1_pkey" PRIMARY KEY, btree (id)
Referenced by:
    TABLE "table2" CONSTRAINT "table2_table1_id_fkey" FOREIGN KEY (table1_id) REFERENCES table1(id) ON UPDATE CASCADE ON DELETE CASCADE
Triggers:
    _slony_regress1_logtrigger_1 AFTER INSERT OR DELETE OR UPDATE ON table1 FOR EACH ROW EXECUTE PROCEDURE _slony_regress1.logtrigger('_slony_regress1', '1', 'kv')

slonyregress1=# delete from table1 where id = 1;
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!> \q

There are no notable compiler complaints about
src/backend/slony_funcs.c, so the mismatch must be at a subtler level
than that of an up-front API change for something.

I suppose a next step might be to kick off gdb against the backend when
processing this.
-- 
output = ("cbbrowne" "@" "ca.afilias.info")
Christopher Browne
"Bother,"  said Pooh,  "Eeyore, ready  two photon  torpedoes  and lock
phasers on the Heffalump, Piglet, meet me in transporter room three"


More information about the Slony1-general mailing list