./databases/repmgr, Replication Manager for PostgreSQL clusters

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 5.2.1, Package name: postgresql12-repmgr-5.2.1, Maintainer: pkgsrc-users

repmgr is a suite of open-source tools to manage replication and failover
within a cluster of PostgreSQL servers. It enhances PostgreSQL's built-in
replication capabilities with utilities to set up standby servers, monitor
replication, and perform administrative tasks such as failover or
switchover operations.

Required to run:
[textproc/libxml2] [databases/postgresql95-client] [databases/postgresql95-server]

Required to build:

Master sites:

SHA1: 2368a114934e78e5b316bed535b2794f4a3e81e9
RMD160: 055261e39aab9a157a7ebe857e95baf3c5da39b0
Filesize: 437.66 KB

Version history: (Expand)

CVS history: (Expand)

   2020-12-08 17:38:26 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
repmgr: updated to 5.2.1

repmgr 5.2.1 is a minor release.

A.1.1. Improvements

repmgr standby clone: option --recovery-min-apply-delay added, overriding any \ 
setting present in repmgr.conf.

A.1.2. Bug fixes

Configuration: fix parsing of replication_type configuration parameter.

repmgr standby clone: handle case where postgresql.auto.conf is absent on the \ 
source node.

repmgr standby clone: in PostgreSQL 11 and later, an existing data directory's \ 
permissions will not be changed to 0700 if they are already set to 0750.

repmgrd: prevent termination when local node not available and \ 
standby_disconnect_on_failover is set.

repmgrd: ensure reconnect_interval is correctly handled.

repmgr witness --help: fix witness unregister description.
   2020-11-05 10:09:30 by Ryo ONODERA | Files touched by this commit (1814)
Log message:
*: Recursive revbump from textproc/icu-68.1
   2020-10-30 10:55:14 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
repmgr: updated to 5.2.0

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.1.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 \ 

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 \ 

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.1.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.1.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 \ 

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.
   2020-06-02 10:25:05 by Adam Ciarcinski | Files touched by this commit (1689)
Log message:
Revbump for icu
   2020-05-19 14:48:13 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
repmgr: updated to 5.1.0


repmgr: remove BDR 2.x support
repmgr: don't query upstream's data directory
repmgr: rename --recovery-conf-only to --replication-conf-only
repmgr: ensure postgresql.auto.conf is created with correct permissions
repmgr: minimize requirement to check upstream data directory location
  during "standby clone"
repmgr: warn about missing pg_rewind prerequisites when excuting
  "standby clone"
repmgr: add --upstream option to "node check"
repmgr: report error code on follow/rejoin failure due to non-available
  replication slot
repmgr: ensure "node rejoin" checks for available replication slots
repmgr: improve "standby switchover" completion checks
repmgr: add replication configuration file ownership check to
  "standby switchover"
repmgr: check the demotion candidate's registered repmgr.conf file can
  be found
repmgr: consolidate replication connection code
repmgr: check permissions for "pg_promote()" and fall back to pg_ctl
  if necessary
repmgr: in --dry-run mode, display promote command which will be used
repmgr: enable "service_promote_command" in PostgreSQL 12
repmgr: accept option -S/--superuser for "node check"
   2019-10-27 01:39:04 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
repmgr: updated to 5.0.0

repmgr 5.0 is a major release.
* Configuration file parsing has been made stricter
* Some "repmgr daemon ..." commands renamed
* Some deprecated command line options removed
* Support for PostgreSQL 12 added.
* The repmgr configuration file is now parsed using flex, meaning it will be \ 
parsed in the same way as PostgreSQL parses its own configuration files.
* repmgr standby clone: checks for availability of the repmgr extension on the \ 
upstream node have been improved and error messages improved.
* When executing repmgr remotely, if the repmgr log level was explicitly \ 
provided (with -L/--log-level), that log level will be passed to the remote \ 
* Bug fixes
   2019-09-14 18:31:26 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
repmgr: PLIST fix for PostgreSQL with/without LLVM
   2019-07-12 14:49:27 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
repmgr: updated to 4.4.0

repmgr client enhancements

repmgr standby clone: prevent a standby from being cloned from a witness server \ 
(PostgreSQL 9.6 and later only).

repmgr witness register: prevent a witness server from being registered on the \ 
replication cluster primary server (PostgreSQL 9.6 and later only).

Registering a witness on the primary node would defeat the purpose of having a \ 
witness server, which is intended to remain running even if the cluster's \ 
primary goes down.

repmgr standby follow: note that an active, reachable cluster primary is \ 
required for this command; and provide a more helpful error message if no \ 
reachable primary could be found.

repmgr: when executing repmgr standby switchover, if --siblings-follow is not \ 
supplied, list all nodes which repmgr considers to be siblings (this will \ 
include the witness server, if in use), and which will remain attached to the \ 
old primary.

repmgr: when executing repmgr standby switchover, ignore nodes which are \ 
unreachable and marked as inactive. Previously it would abort if any node was \ 
unreachable, as that means it was unable to check if repmgrd is running.

However if the node has been marked as inactive in the repmgr metadata, it's \ 
reasonable to assume the node is no longer part of the replication cluster and \ 
does not need to be checked.

repmgr standby switchover and repmgr standby promote: when executing with the \ 
--dry-run option, continue checks as far as possible even if errors are \ 

repmgr standby promote: add --siblings-follow (similar to repmgr standby switchover).

repmgr daemon status: make output similar to that of repmgr cluster show for \ 
consistency and to make it easier to identify nodes not in the expected state.

repmgr cluster show: display each node's timeline ID (PostgreSQL 9.6 and later only).

repmgr cluster show and repmgr daemon status: show the upstream node name as \ 
reported by each individual node - this helps visualise situations where the \ 
cluster is in an unexpected state, and provide a better idea of the actual \ 
cluster state.

For example, if a cluster has divided somehow and a set of nodes are following a \ 
new primary, when running either of these commands, repmgr will now show the \ 
name of the primary those nodes are actually following, rather than the now \ 
outdated node name recorded on the other side of the "split". A \ 
warning will also be issued about the unexpected situation.

repmgr cluster show and repmgr daemon status: check if a node is attached to its \ 
advertised upstream node, and issue a warning if the node is not attached.

repmgrd enhancements

On the primary node, repmgrd is now able to monitor standby connections and, if \ 
the number of nodes connected falls below a certain (configurable) value, \ 
execute a custom script.

This provides an additional method for fencing an isolated primary node, and/or \ 
taking other action if one or more standys become disconnected.

See section Monitoring standby disconnections on the primary node for more details.

In a failover situation, repmgrd nodes on the standbys of the failed primary are \ 
now able confirm among themselves that none can still see the primary before \ 
continuing with the failover.

The repmgr.conf option primary_visibility_consensus must be set to true to \ 
enable this functionality.

See section Primary visibility consensus for more details.

Bug fixes
Ensure BDR2-specific functionality cannot be used on BDR3 and later.

The BDR support present in repmgr is for specific BDR2 use cases.

repmgr: when executing repmgr standby clone in --dry-run mode, ensure provision \ 
of the --force option does not result in an existing data directory being \ 
modified in any way.

repmgr: when executing repmgr primary register with the --force option, if \ 
another primary record exists but the associated node is unreachable (or running \ 
as a standby), set that node's record to inactive to enable the current node to \ 
be registered as a primary.

repmgr: when executing repmgr standby clone with the --upstream-conninfo, ensure \ 
that application_name is set correctly in primary_conninfo.

repmgr: when executing repmgr standby switchover, don't abort if one or more \ 
nodes are not reachable and they are marked as inactive.

repmgr: canonicalize the data directory path when parsing the configuration \ 
file, so the provided path matches the path PostgreSQL reports as its data \ 
directory. Otherwise, if e.g. the data directory is configured with a trailing \ 
slash, repmgr node check --data-directory-config will return a spurious error.

repmgrd: fix memory leak which occurs while the monitored PostgreSQL node is not \ 

The repmgr documentation has been converted to DocBook XML format, as currently \ 
used by the main PostgreSQL project. This means it can now be built against any \ 
PostgreSQL version from 9.5 (previously it was not possible to build the \ 
documentation against PostgreSQL 10 or later), and makes it easier to provide \ 
the documentation in other formats such as PDF.