Skip site navigation (1) Skip section navigation (2)

Re: DBmirror replication - replacement for

From: Peter Wilson <petew(at)yellowhawk(dot)co(dot)uk>
To: petew(at)yellowhawk(dot)co(dot)uk
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: DBmirror replication - replacement for
Date: 2005-05-02 18:56:27
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-general
Just to add - the replacement for automatically works out 
the schema in use and will replicate using DBmirror from 7.x or from 8.x 
(table names all changed!). This is done transparently.

I also wrote a short article at


Peter Wilson wrote:

> Not sure whether this is any use to anyone, or whether this is the 
> right list to post to but...
> I've just released a C++ implementation of the script as 
> part of Whitebeam ( We had *real* 
> performance issues with the Perl implementation replicating large 
> fields. It's an almost drop in replacement - except configuration file 
> format is difffernt. It's also more fault tolerant than the Perl 
> implementation and has some parameters to help distribute the 
> replication load over time (if you delete 10,000 rows from a table, 
> you don't really want you're main application to grind to a halt as 
> replication soak up most of your resource!)
> I needed to do this quickly - so it links to the utility classes in 
> Whitebeam, things like a string class etc. It wouldn't be too 
> difficult to decouple these and if there is any interest I'll do that 
> when I get a little spare time. Once it's built though it's entirely 
> generic and doesn't use anything else from Whitebeam.
> If anyone has contact information for the original DBMirror author 
> then I'd like to get in touch.
> Would like to get feedback from anyone using DBmirror or thinks this 
> would be useful..
> Background
> ========
> Our Whitebeam application server uses PostgreSQL for back-end data 
> storage. We originally used IBM DB2, but ported to Postgres about 3 
> years ago, but we never sorted out replication (partly because we were 
> using Large Objects). I recently sorted that out and looked around for 
> a replication scheme to use - first choice being Slony-I. I couldn't 
> get it to work - the configuration scheme just kept claiming half our 
> schema tables didn't have primary keys (they did!). Also the 
> documentation was virtually non-existent.
> Dropping back to DBmirror (which comes with the PostgreSQL 
> distribution in the 'contrib' directory) worked fine-ish. 
> Unfortunately the replication Perl script was un-usably slow, taking 
> minutes to replicate a 100K BYTEA field, which we used to store 
> images. The replication Perl script seemed to be rather inefficient, 
> using a lot of regular expressions to decode field values etc. Perl 
> isn't something I felt too confident in - and I needed a solution 
> quickly and hence the C++ implementation
> Pete
> -- 
> Peter Wilson
> YellowHawk :
> Whitebeam : http:/
> -----
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend

Peter Wilson
T: 01707 891840
M: 07796 656566 	


In response to

pgsql-general by date

Next:From: Tom LaneDate: 2005-05-02 19:05:08
Subject: Re: Tuning queries inside a function
Previous:From: Jonel RientonDate: 2005-05-02 18:56:04
Subject: PostgreSQL 8.0.2 and Tiger

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group