Binary Replication Tools

From PostgreSQL wiki

(Difference between revisions)
Jump to: navigation, search
(OmniPITR: Update license, note on platform support)
(Barman)
Line 63: Line 63:
 
= Barman =  
 
= Barman =  
  
[http://www.pgbarman.org/ pgbarman]
+
 
 +
[http://www.pgbarman.org/ pgbarman] [https://github.com/selenamarie/pg_replication_demo/tree/master/barman Demo setup for pgbarman]
 +
 
 +
Summary of features:
 +
* Creates base backups
 +
* Uses SSH as transport for backup, and easy to change usernames and connection info in a config file
 +
* Command-line use is easy to setup
 +
* Restore is easy to automate for creating replicas, although not explictly supported in the documentation
  
 
= Skytools / walmgr =
 
= Skytools / walmgr =

Revision as of 18:08, 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 Demo setup for pgbarman

Summary of features:

  • Creates base backups
  • Uses SSH as transport for backup, and easy to change usernames and connection info in a config file
  • Command-line use is easy to setup
  • Restore is easy to automate for creating replicas, although not explictly supported in the documentation

Skytools / walmgr

Skytools

pg-rman

pg-rman

Personal tools