Binary Replication Tools

From PostgreSQL wiki

(Difference between revisions)
Jump to: navigation, search
m (Purpose)
(OmniPITR: Update license, note on platform support)
Line 23: Line 23:
  
 
Summary of Features:
 
Summary of Features:
* Creating PITR backups
+
* Creating PITR backups from Master or Slave
 
* Restoring a PITR backup for DR
 
* Restoring a PITR backup for DR
 
* Creating replicas (by untarring backups)
 
* Creating replicas (by untarring backups)
 
* Monitoring of replicas
 
* Monitoring of replicas
 
* Supports 'pause removal' of WAL during a backup (nice!)
 
* Supports 'pause removal' of WAL during a backup (nice!)
* BSD license
+
* PostgreSQL license
  
 
Install notes:  
 
Install notes:  
* No packaging, perl
+
* No packaging, perl  
 
* No documented support for streaming replication
 
* No documented support for streaming replication
 
* Uses an odd format for omnipitr logfile naming
 
* Uses an odd format for omnipitr logfile naming
 
* No configuration file option (instead of using long command-line options)
 
* No configuration file option (instead of using long command-line options)
 +
* Supported on all Linux, Solaris variants
  
 
= repmgr =
 
= repmgr =

Revision as of 15:19, 29 December 2012

Contents

Purpose

Compare binary replication tools for PostgreSQL for features and ease of use.

The features these tools help automated include:

  • Managing binary backups (create, track, restore)
  • Managing creation of replicas
    • Streaming replication
    • Cascaded replication
    • WAL-shipping replication
  • Monitoring of replication delay
  • Automated failover
  • Automated "following" of a new master by secondary replicas

My goal is to classify and differentiate the various tools for easier selection and fit to purpose.

OmniPITR

OmniPITR Demo of a simple replication setup with OmniPITR

Summary of Features:

  • Creating PITR backups from Master or Slave
  • Restoring a PITR backup for DR
  • Creating replicas (by untarring backups)
  • Monitoring of replicas
  • Supports 'pause removal' of WAL during a backup (nice!)
  • PostgreSQL license

Install notes:

  • No packaging, perl
  • No documented support for streaming replication
  • Uses an odd format for omnipitr logfile naming
  • No configuration file option (instead of using long command-line options)
  • Supported on all Linux, Solaris variants

repmgr

repmgr Demo of a simple setup with repmgr

Supported features:

  • Setting up new replicas/hot_standby with streaming replication (makes recovery.conf itself)
  • Making base backups
  • Failover (automated, or not, including redirecting replicas to connect to a new master after failover)
  • Lag monitoring (repmgrd)
  • A "witness" DB server for monitoring (typically on a replica)
  • License: GPLv3

Install notes:

  • Written in C
  • Installs like a typical UNIX utility out of postgresql/contrib source tree (make USE_PGXS=1; make USE_PGXS=1 install)
  • Developed on Debian systems, so support for package is present. Did not find an Ubuntu package for repmgr, however.
  • Detailed docs are in the README for installing on many Linux platforms
  • Doesn't appear to be supported on Mac OS X

WAL-E

WAL-E

Barman

pgbarman

Skytools / walmgr

Skytools

pg-rman

pg-rman

Personal tools