Configuration filerepmgr.confconfigurationrepmgr.confrepmgr and &repmgrd;
use a common configuration file, by default called
repmgr.conf (although any name can be used if explicitly specified).
repmgr.conf must contain a number of required parameters, including
the database connection string for the local node and the location
of its data directory; other values will be inferred from defaults if
not explicitly supplied. See section
for more details.
Configuration file formatrepmgr.confformatrepmgr.conf is a plain text file with one parameter/value
combination per line.
Whitespace is insignificant (except within a quoted parameter value) and blank lines are ignored.
Hash marks (#) designate the remainder of the line as a comment.
Parameter values that are not simple identifiers or numbers should be single-quoted.
To embed a single quote in a parameter value, write either two quotes (preferred) or backslash-quote.
Example of a valid repmgr.conf file:
# repmgr.conf
node_id=1
node_name= node1
conninfo ='host=node1 dbname=repmgr user=repmgr connect_timeout=2'
data_directory = '/var/lib/pgsql/12/data'
Beginning with repmgr 5.0, configuration
file parsing has been tightened up and now matches the way PostgreSQL
itself parses configuration files.
This means repmgr.conf files used with earlier &repmgr;
versions may need slight modification before they can be used with &repmgr; 5
and later.
The main change is that &repmgr; requires most string values to be
enclosed in single quotes. For example, this was previously valid:
conninfo=host=node1 user=repmgr dbname=repmgr connect_timeout=2
but must now be changed to:
conninfo='host=node1 user=repmgr dbname=repmgr connect_timeout=2'Configuration file items
The following sections document some sections of the configuration file:
For a full list of annotated configuration items, see the file
repmgr.conf.sample.
For &repmgrd;-specific settings, see .
The following parameters in the configuration file can be overridden with
command line options:
-L/--log-level overrides log_level in
repmgr.conf-b/--pg_bindir overrides pg_bindir in
repmgr.confConfiguration file locationrepmgr.conflocation
The configuration file will be searched for in the following locations:
a configuration file specified by the -f/--config-file command line option
a location specified by the package maintainer (if repmgr
as installed from a package and the package maintainer has specified the configuration
file location)
repmgr.conf in the local directory/etc/repmgr.confthe directory reported by pg_config --sysconfdir
Note that if a file is explicitly specified with -f/--config-file,
an error will be raised if it is not found or not readable, and no attempt will be made to
check default locations; this is to prevent repmgr unexpectedly
reading the wrong configuration file.
If providing the configuration file location with -f/--config-file,
avoid using a relative path, particularly when executing
and , as &repmgr; stores the configuration file location
in the repmgr metadata for use when &repmgr; is executed remotely (e.g. during
). &repmgr; will attempt to convert the
a relative path into an absolute one, but this may not be the same as the path you
would explicitly provide (e.g. ./repmgr.conf might be converted
to /path/to/./repmgr.conf, whereas you'd normally write
/path/to/repmgr.conf).