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.
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.
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).
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).
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.
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.
repmgr: fix "Missing replication slots" label in
repmgr node check
. (GitHub #507)
repmgrd: fix parsing of -d/--daemonize
option.