A.14. Release 4.2

A.14.1. Configuration file changes
A.14.2. repmgr enhancements
A.14.3. repmgrd enhancements
A.14.4. Bug fixes

Wed October 24, 2018

repmgr 4.2 is a major release, with the main new feature being the ability to pause repmgrd, e.g. during planned maintenance operations. Various other usability enhancements and a couple of bug fixes are also included; see notes below for details.

A restart of the PostgreSQL server is required for this release. For detailed upgrade instructions, see Upgrading a major version release.

Important

On Debian-based systems, including Ubuntu, if using repmgrd please ensure that the in the file /etc/init.d/repmgrd, the parameter REPMGRD_OPTS contains "--daemonize=false", e.g.:

# additional options
REPMGRD_OPTS="--daemonize=false"

For further details, see repmgrd daemon configuration on Debian/Ubuntu.

A.14.1. Configuration file changes

  • New parameter shutdown_check_timeout (default: 60 seconds) added; this provides an explicit timeout for repmgr standby switchover to check that the demotion candidate (current primary) has shut down. Previously, the parameters reconnect_attempts and reconnect_interval were used to calculate a timeout, but these are actually intended for primary failure detection. (GitHub #504).

  • New parameter repmgr_bindir added, to facilitate remote invocation of repmgr when the repmgr binary is located somewhere other than the PostgreSQL binary directory, as it cannot be assumed all package maintainers will install repmgr there.

    This parameter is optional; if not set (the default), repmgr will fall back to pg_bindir (if set).

    (GitHub #246).

A.14.2. repmgr enhancements

  • repmgr cluster cleanup now accepts the --node-id option to delete records for only one node. (GitHub #493).

  • When running repmgr cluster matrix and repmgr cluster crosscheck, repmgr will report nodes unreachable via SSH, and emit return code ERR_BAD_SSH. (GitHub #246).

    Note

    Users relying on repmgr cluster crosscheck to return a non-zero return code as a way of detecting connectivity errors should be aware that ERR_BAD_SSH will be returned if there is an SSH connection error from the node where the command is executed, even if the command is able to establish that PostgreSQL connectivity is fine. Therefore the exact return code should be checked to determine what kind of connectivity error has been detected.

A.14.3. repmgrd enhancements

  • repmgrd can now be "paused", i.e. instructed not to take any action such as a failover, even if the prerequisites for such an action are detected.

    This removes the need to stop repmgrd on all nodes when performing a planned operation such as a switchover.

    For further details, see Pausing repmgrd.

A.14.4. Bug fixes

  • repmgr: fix "Missing replication slots" label in repmgr node check. (GitHub #507)

  • repmgrd: fix parsing of -d/--daemonize option.