Christopher Browne cbbrowne at ca.afilias.info
Wed Sep 10 11:08:46 PDT 2008
Andrew Sullivan <ajs at crankycanuck.ca> writes:
> On Wed, Sep 10, 2008 at 08:27:14AM -0600, kevin kempter wrote:
>> Hi List;
>>
>> does the new 2.0 release support BLOB data (lo_* style functions) ?
>
> I haven't checked, but I don't see how it can.  There's still no way
> to fire a trigger on those tables.

Just so.

No way to create triggers on lo_* style functions
   --> No way for Slony-I to capture such changes.

I'll observe that in PostgreSQL 8.4, it has become possible to create
"ON TRUNCATE" triggers, which would, in principle, allow capturing
TRUNCATEs, or, at least, blocking them.¹

I would think it not _completely_ implausible to, in an analagous way,
establish the capability to create triggers to detect lo_* changes,
although I expect it might at most be on the level of being able to
identify the tuple involved, and you'd essentially have to capture and
copy over the entire contents of the BLOB.

That of course assumes that this could pass the "will Tom say yes?" 
test, and I'm not sure that I would hope that he would say yes.

Footnotes: 
¹  Simon Riggs submitted a sample patch that could capture and
propagate TRUNCATE; it is incomplete in that it doesn't join
together multiple requests as in the case where you submit:
   TRUNCATE table1, table2, table3;
or
   TRUNCATE table1 CASCADE;

I have not thought out a way to join them together, and if you've got
foreign key constraints, subscribers will break if you *don't* order
them appropriately, and mere ordering isn't good enough if there are
recursive foreign key relationships between tables.  But that's not
about BLOBs, so I digress...
-- 
output = ("cbbrowne" "@" "linuxfinances.info")
http://linuxfinances.info/info/sgml.html
Would-be National Mottos:
Canada: "We're nicer than you, and we've got national health insurance."
(Message on billboards all over the US-Canada border, sponsored by the
National Council of Smug Canadians)


More information about the Slony1-general mailing list