I'd start with something fairly straightforward. dbmirror is very simple but does a lot. There are two parts: A trigger function and set of database tables to collect replication data. The trigger function is written is 'C' and performance is good. The second part is a Perl script that attaches to source and target database and replicates all the changes. The Perl script isn't too efficient but it should be pretty easy to modify to send the data somewhere other than a database I had performance issues with dbmirror replicating big BYTEA fields so I wrote a 'C++' version which is now part of Whitebeam (http://www.whitebeam.org) so if you're likely to be doing the same then you might want to re-write the C++ version rather than the Perl version. dbmirror is in the Postgres contrib directory for releases up until 8.1 at least. Pete Alban Hertroys wrote: > Taras Kopets wrote: >> Hi! >> >> I think you should try to use triggers with >> dbi-link<http://pgfoundry.org/projects/dbi-link/>to achieve this. >> AFAIK there is no such replication with other RDBMS as you need. >> >> Taras Kopets > > Seems like I introduced a small misunderstanding here. The data > doesn't necessarilly go to a database; at least, none that we know > about. The goal here is to export (semi-)real time changes from our > database to a small number of interested parties[1]. It'll probably > have to be in some kind of XML format. > > So far we've received some interesting suggestions. I particularly > like the idea of extending Slony-I with a "custom" frontend - though > that'll probably involve more work than a custom solution, it seems > much more powerful. > > Thanks for the suggestions so far, everyone. > > [1] Those parties probably store our data in a database (they'd be > nuts if they didn't), but that's something beyond our control. > > Regards,