A.2. Release 5.2.0

A.2.1. General improvements
A.2.2. repmgrd enhancements
A.2.3. Bug fixes

Thu 22 October, 2020

repmgr 5.2.0 is a major release.

This release provides support for PostgreSQL 13, released in September 2020.

This release removes support for PostgreSQL 9.3, which was designated EOL in November 2018.

A.2.1. General improvements

  • Configuration: support include, include_dir and include_if_exists directives (see configuration file include directives).

  • repmgr standby switchover: Improve sanity check failure log output from the demotion candidate.

    If database connection configuration is not consistent across all nodes, it's possible remote repmgr invocations (e.g. during switchover, from the promotion candidate to the demotion candidate) will not be able to connect to the database. This will now be explicitly reported as a database connection failure, rather than as a failure of the respective sanity check.

  • repmgr cluster crosscheck / repmgr cluster matrix: improve text mode output format, in particular so that node identifiers of arbitrary length are displayed correctly.

  • repmgr primary unregister: the --force can be provided to unregister an active primary node, provided it has no registered standby nodes.

  • repmgr standby clone: new option --verify-backup to run PostgreSQL's pg_verifybackup utility after cloning a standby to verify the integrity of the copied data (PostgreSQL 13 and later).

  • repmgr standby clone: when cloning from Barman, setting --waldir (PostgreSQL 9.6 and earlier: --xlogdir) in pg_basebackup_options will cause repmgr to create a WAL directory outside of the main data directory and symlink it from there, in the same way as would happen when cloning using pg_basebackup.

  • repmgr standby follow: In PostgreSQL 13 and later, a standby no longer requires a restart to follow a new upstream node.

    The old behaviour (always restarting the standby to follow a new node) can be restored by setting the configuration file parameter standby_follow_restart to true.

  • repmgr node rejoin: enable a node to attach to a target node even the target node has a lower timeline (PostgreSQL 9.6 and later).

  • repmgr node rejoin: in PostgreSQL 13 and later, support pg_rewind's ability to automatically run crash recovery on a PostgreSQL instance which was not shut down cleanly.

  • repmgr node check: option --db-connection added to check if repmgr can connect to the database on the local node.

  • repmgr node check: report database connection error if the --optformat was provided.

  • Improve handling of pg_control read errors.

  • It is now possible to dump the contents of repmgr metadata tables with pg_dump.

A.2.2. repmgrd enhancements

  • Following additional parameters can be provided to failover_validation_command:

    • %n: node ID
    • %a: node name
    • %v: number of visible nodes
    • %u: number of shared upstream nodes
    • %t: total number of nodes

  • Configuration option always_promote (default: false) to control whether a node should be promoted if the repmgr metadata is not up-to-date on that node.

A.2.3. Bug fixes

  • repmgr standby clone: fix issue with cloning from Barman where the tablespace mapping file was not flushed to disk before attempting to retrieve files from Barman. GitHub #650.

  • repmgr node rejoin: ensure that when verifying a standby node has attached to its upstream, the node has started streaming before confirming the success of the rejoin operation.

  • repmgrd: ensure primary connection is reset if same as upstream. GitHub #633.