repmgr 3.3.1 released

What is repmgr?

repmgr is an open source package which greatly simplifies the process of setting up and managing replication using streaming replication within a cluster of PostgreSQL servers. Taking advantage of features introduced since PostgreSQL 9.3, repmgr builds on PostgreSQL's core functionality to provide a smooth, user-friendly way of working with the complexities of replication and failover management in high-availability environments.

repmgr consists of two core tools - the repmgr command line interface, which provides functionality for adminstering replication such as cloning standby servers, and repmgrd, a background daemon which monitors nodes in a replication cluster and provides automatic failover support.

Note that repmgr 3.3.1 supports PostgreSQL 9.3 and later only.

2ndQuadrant provides professional support services for repmgr - see our website for details.

Improvements in repmgr 3.3.1

Better support of synchronous replication

repmgr now performs all SQL operations with synchronous_commit set to local, ensuring that any write operations which occur during cloning and switchover operations are not dependent on a synchronous standby being active.

Attempt to clean up replication slots after executing repmgr standby follow

If a standby is instructed to follow a new master, and the old master is still reachable (typically the case after a planned switchover), delete the standby's replication slot on the old master.

Improved rsync logging

Remove spurious error messages related to vanishing files, and add better diagnostic output

master register --force works with foreign key dependencies

The node record is now updated in-situ (rather than being deleted and replaced), preventing foreign key violation errors if the node is an upstream for other nodes.

Bugfixes in repmgr 3.3.1

repmgrd apply lag calculation

In certain corner cases, repmgrd would try to write an invalid apply lag value being written to the monitoring table, which resulted in (harmless) query errors in the PostgreSQL logs; this is now fixed.

Prevent nodes with invalid ids being created

repmgr requires node ids to be a non-zero positive value which fits into a 32 bit signed integer; this is now enforced when parsing the configuration file.

Upgrading from older repmgr versions

Upgrading from repmgr 3.1.2 or later

repmgr 3.3.1 can simply be installed in place of any version from repmgr 3.1.2 onwards.

If repmgrd is running, stop and restart the service to ensure it is running with the current repmgr version.

Upgrading from repmgr 3.1.1 or 3.1

To upgrade from repmgr 3.1.1 or repmgr 3.1 version, install repmgr 3.3.1 from your operating system's packaging system or from source, then perform following tasks:

Upgrading from repmgr 3.0.x

repmgr 3.3.1 is a drop-in replacement for an existing repmgr 3.0.x installation. It should be installed first, either from your operating system's packaging system or from source, then following tasks performed:

Upgrading from repmgr 2.0

repmgr 3.3.1 can replace an existing repmgr 2.0 installation. It should be installed first, either from your operating system's packaging system or from source, then following tasks performed:

Community and development

repmgr is free and open source software and is licensed under the GPLv3.

Contributions to repmgr are welcome. See CONTRIBUTING.md for information about how to contribute.

2ndQuadrant Logo