pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Chris Browne <cbbrowne@acm.org>
To: pgsql-general@postgresql.org
Subject: Re: Binary Replication and Slony
Date: Mon, 20 Sep 2010 12:22:14 -0400
Message-ID: <87hbhkcrm1.fsf@cbbrowne.afilias-int.info> (raw)
References: <AANLkTin12bq-v-3j3Xg+niASj9GLbUwmJ-Eovws2o4ha@mail.gmail.com>

johnlicheng@gmail.com (John Cheng) writes:
> Congrats on the 9.0 release of PostgreSQL. One of the features I am really
> interested in is the built-in binary replication.
>
> Our production environment has been using PostgreSQL for more than 5 years
> (since this project started). We have been using Slony-I as our replication
> mechanism. I am interested to find out the pros and cons of Slony vs the
> built-in replication in 9.0. Based on what I understand:
>
> * Slony has a higher overhead than the binary replication in 9.0
> * When using Slony, schema change must be applied via slonik (in most cases)
> * Unfortunately, IMO it is easy to make a mistake when applying schema changes
> in Slony, fortunately, it is easy to drop and recreate the replication sets
> * Slony is an asynchronous replication mechanism
> * Slony allows you to replication some tables, while ignoring others
>
> * PostgreSQL 9.0 with hot standby & streaming replication is an asynchronous
> replication mechanism
> * Overhead is low compared to Slony
>
> Are there some cases where it is better to use Slony, for example, when you
> must specifically exclude tables from replication? I believe our system will be
> better off using the built-in replication mechanism of 9.0, and I am guessing
> most people will be in the same boat.

There are three characteristic kinds of cases where you'll need
something like Slony-I, where the built-in WAL-based replication won't
work:

a) You need to interact between PostgreSQL versions.  Slony (and similar
   systems like Londiste and Bucardo) can cope with having nodes running
   different versions of PostgreSQL.

   WAL-based replication requires that all databases use *identical*
   versions of PostgreSQL, running on identical architectures.

b) You only want to replicate parts of the changes that are going on.

   WAL-based replication duplicates *absolutely everything*.

c) You need for there to be extra behaviours taking place on
   subscribers, for instance, populating cache management information.

   WAL-based replication duplicates *absolutely everything*, and nothing
   extra that changes data can run on a WAL-based replica.

If you don't need any of those things, then, yes, I'd think the built-in
replication is a good choice, quite likely preferable to using the
trigger-based replication systems like Slony.
-- 
output = reverse("ofni.secnanifxunil" "@" "enworbbc")
"What you  said you   want to do  is  roughly  equivalent to   nailing
horseshoes to the tires of your Buick."  -- danceswithcrows@usa.net on
the question "Why can't Linux use Windows Drivers?"



view thread (6+ messages)  latest in thread

Message-ID: <87hbhkcrm1.fsf@cbbrowne.afilias-int.info>
Permalink:  ../87hbhkcrm1.fsf@cbbrowne.afilias-int.info/
Also on:    postgresql.org/message-id/87hbhkcrm1.fsf@cbbrowne.afilias-int.info

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: cbbrowne@acm.org, pgsql-general@postgresql.org
  Subject: Re: Binary Replication and Slony
  In-Reply-To: <87hbhkcrm1.fsf@cbbrowne.afilias-int.info>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox