Create a repmgr.conf
file on the standby server. It must contain at
least the same parameters as the primary's repmgr.conf
, but with
the mandatory values node
, node_name
, conninfo
(and possibly data_directory
) adjusted accordingly, e.g.:
node_id=2 node_name='node2' conninfo='host=node2 user=repmgr dbname=repmgr connect_timeout=2' data_directory='/var/lib/postgresql/data'
Use the --dry-run
option to check the standby can be cloned:
$ repmgr -h node1 -U repmgr -d repmgr -f /etc/repmgr.conf standby clone --dry-run NOTICE: using provided configuration file "/etc/repmgr.conf" NOTICE: destination directory "/var/lib/postgresql/data" provided INFO: connecting to source node NOTICE: checking for available walsenders on source node (2 required) INFO: sufficient walsenders available on source node (2 required) NOTICE: standby will attach to upstream node 1 HINT: consider using the -c/--fast-checkpoint option INFO: all prerequisites for "standby clone" are met
If no problems are reported, the standby can then be cloned with:
$ repmgr -h node1 -U repmgr -d repmgr -f /etc/repmgr.conf standby clone NOTICE: using configuration file "/etc/repmgr.conf" NOTICE: destination directory "/var/lib/postgresql/data" provided INFO: connecting to source node NOTICE: checking for available walsenders on source node (2 required) INFO: sufficient walsenders available on source node (2 required) INFO: creating directory "/var/lib/postgresql/data"... NOTICE: starting backup (using pg_basebackup)... HINT: this may take some time; consider using the -c/--fast-checkpoint option INFO: executing: pg_basebackup -l "repmgr base backup" -D /var/lib/postgresql/data -h node1 -U repmgr -X stream NOTICE: standby clone (using pg_basebackup) complete NOTICE: you can now start your PostgreSQL server HINT: for example: pg_ctl -D /var/lib/postgresql/data start
This has cloned the PostgreSQL data directory files from the primary node1
using PostgreSQL's pg_basebackup
utility. Replication configuration
containing the correct parameters to start streaming from this primary server will be
automatically appended to postgresql.auto.conf
. (In PostgreSQL 11
and earlier the file recovery.conf
will be created).
By default, any configuration files in the primary's data directory will be
copied to the standby. Typically these will be postgresql.conf
,
postgresql.auto.conf
, pg_hba.conf
and
pg_ident.conf
. These may require modification before the standby
is started.
Make any adjustments to the standby's PostgreSQL configuration files now, then start the server.
For more details on repmgr standby clone
, see the
command reference.
A more detailed overview of cloning options is available in the
administration manual.