Slony-I

Slony-I is an asynchronous master-slave replication system for the PostgreSQL DBMS, providing support for cascading and failover. Asynchronous means that when a database transaction has been committed to the master server, it is not yet guaranteed to be available in slaves. Cascading means that replicas can be created (and updated) via other replicas, i.e. they needn't directly connect to the master.

Terminology
The name "slony" comes from the Russian word "слоны" which means "elephants". This is a reference to the PostgreSQL elephant logo, as well as being a "tip of the hat" to Vadim Mikheev, who came up with some of the core ideas Slony-I uses to work. Note that there is a whole set of related terminology:


 * slony
 * is the plural word for elephants, and indicates that a cluster consists of multiple databases


 * slon
 * is the singular word for elephant; each replication node is managed by a program named "slon", which aggregate together into the aforementioned "cluster of elephants"


 * slonik
 * is the word for a "little elephant," and is the name of the program used to configure the cluster. In effect, the "little elephant" tells the cluster, "here's what you need to do!"

Unique features
Unlike many other replication solutions for PostgreSQL, Slony-I is not tied to any particular version of the database, which makes it possible to upgrade a database cluster one node at a time, without material downtime. (Version 2.0.0 requires PostgreSQL 8.3+, though)