mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-23 07:06:30 +00:00
Currently repmgr assumes the SSH hostname will be the same as the database hostname, and it's easy enough now to extract this from the node's conninfo string. We can consider re-adding this in the next release if required.
199 lines
7.1 KiB
Plaintext
199 lines
7.1 KiB
Plaintext
###################################################
|
|
# Replication Manager sample configuration file
|
|
###################################################
|
|
|
|
# Some configuration items will be set with a default value; this
|
|
# is noted for each item. Where no default value is shown, the
|
|
# parameter will be treated as empty or false.
|
|
|
|
# Required configuration items
|
|
# ============================
|
|
#
|
|
# repmgr and repmgrd require these items to be configured:
|
|
|
|
# Cluster name - this will be used by repmgr to generate its internal
|
|
# schema (pattern: "repmgr_{cluster}"); while this name will be quoted
|
|
# to preserve case, we recommend using lower case and avoiding whitespace
|
|
# to facilitate easier querying of the repmgr views and tables.
|
|
#cluster=example_cluster
|
|
|
|
# Node ID and name
|
|
# (Note: we recommend to avoid naming nodes after their initial
|
|
# replication function, as this will cause confusion when e.g.
|
|
# "standby2" is promoted to primary)
|
|
#node=2 # a unique integer
|
|
#node_name=node2 # an arbitrary (but unique) string; we recommend using
|
|
# the server's hostname or another identifier unambiguously
|
|
# associated with the server to avoid confusion
|
|
|
|
# Database connection information as a conninfo string
|
|
# This must be accessible to all servers in the cluster; for details see:
|
|
#
|
|
# https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING
|
|
#
|
|
#conninfo='host=192.168.204.104 dbname=repmgr user=repmgr'
|
|
#
|
|
# If repmgrd is in use, consider explicitly setting `connect_timeout` in the
|
|
# conninfo string to determine the length of time which elapses before
|
|
# a network connection attempt is abandoned; for details see:
|
|
#
|
|
# https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNECT-CONNECT-TIMEOUT
|
|
|
|
# Optional configuration items
|
|
# ============================
|
|
|
|
# Replication settings
|
|
# ---------------------
|
|
|
|
# When using cascading replication, a standby can connect to another
|
|
# upstream standby node which is specified by setting 'upstream_node'.
|
|
# In that case, the upstream node must exist before the new standby
|
|
# can be registered. If 'upstream_node' is not set, then the standby
|
|
# will connect directly to the primary node.
|
|
#upstream_node=1
|
|
|
|
# use physical replication slots - PostgreSQL 9.4 and later only
|
|
# (default: 0)
|
|
#use_replication_slots=0
|
|
|
|
# NOTE: 'max_replication_slots' should be configured for at least the
|
|
# number of standbys which will connect to the primary.
|
|
|
|
# Logging and monitoring settings
|
|
# -------------------------------
|
|
|
|
# Log level: possible values are DEBUG, INFO, NOTICE, WARNING, ERR, ALERT, CRIT or EMERG
|
|
# (default: NOTICE)
|
|
#loglevel=NOTICE
|
|
|
|
# Logging facility: possible values are STDERR or - for Syslog integration - one of LOCAL0, LOCAL1, ..., LOCAL7, USER
|
|
# (default: STDERR)
|
|
#logfacility=STDERR
|
|
|
|
# stderr can be redirected to an arbitrary file:
|
|
#
|
|
#logfile='/var/log/repmgr/repmgr.log'
|
|
|
|
# event notifications can be passed to an arbitrary external program
|
|
# together with the following parameters:
|
|
#
|
|
# %n - node ID
|
|
# %e - event type
|
|
# %s - success (1 or 0)
|
|
# %t - timestamp
|
|
# %d - details
|
|
#
|
|
# the values provided for "%t" and "%d" will probably contain spaces,
|
|
# so should be quoted in the provided command configuration, e.g.:
|
|
#
|
|
#event_notification_command='/path/to/some/script %n %e %s "%t" "%d"'
|
|
|
|
# By default, all notifications will be passed; the notification types
|
|
# can be filtered to explicitly named ones:
|
|
#
|
|
#event_notifications=master_register,standby_register,witness_create
|
|
|
|
|
|
# Environment/command settings
|
|
# ----------------------------
|
|
|
|
# path to PostgreSQL binary directory (location of pg_ctl, pg_basebackup etc.)
|
|
# (if not provided, defaults to system $PATH)
|
|
#pg_bindir=/usr/bin/
|
|
#
|
|
# Debian/Ubuntu users: you will probably need to set this to the directory
|
|
# where `pg_ctl` is located, e.g. /usr/lib/postgresql/9.5/bin/
|
|
|
|
# service control commands
|
|
#
|
|
# repmgr provides options to to override the default pg_ctl commands
|
|
# used to stop, start and restart the PostgreSQL cluster
|
|
#
|
|
# NOTE: These commands must be runnable on remote nodes as well for switchover
|
|
# to function correctly.
|
|
#
|
|
# If you use sudo, the user repmgr runs as (usually 'postgres') must have
|
|
# passwordless sudo access to execute the command
|
|
#
|
|
# For example, to use systemd, you may use the following configuration:
|
|
#
|
|
# # this is required when running sudo over ssh without -t:
|
|
# Defaults:postgres !requiretty
|
|
# postgres ALL = NOPASSWD: /usr/bin/systemctl stop postgresql-9.5, \
|
|
# /usr/bin/systemctl start postgresql-9.5, \
|
|
# /usr/bin/systemctl restart postgresql-9.5
|
|
#
|
|
# start_command = systemctl start postgresql-9.5
|
|
# stop_command = systemctl stop postgresql-9.5
|
|
# restart_command = systemctl restart postgresql-9.5
|
|
|
|
# external command options
|
|
|
|
#rsync_options=--archive --checksum --compress --progress --rsh="ssh -o \"StrictHostKeyChecking no\""
|
|
#ssh_options=-o "StrictHostKeyChecking no"
|
|
|
|
# external command arguments. Values shown are examples.
|
|
|
|
#pg_ctl_options='-s'
|
|
#pg_basebackup_options='--xlog-method=s'
|
|
|
|
|
|
# Standby clone settings
|
|
# ----------------------
|
|
#
|
|
# These settings apply when cloning a standby (`repmgr standby clone`).
|
|
|
|
# Tablespaces can be remapped from one file system location to another:
|
|
#
|
|
# tablespace_mapping=/path/to/original/tablespace=/path/to/new/tablespace
|
|
|
|
# You can specify a restore_command to be used in the recovery.conf that
|
|
# will be placed in the cloned standby
|
|
#
|
|
# restore_command = cp /path/to/archived/wals/%f %p
|
|
|
|
# Failover settings (repmgrd)
|
|
# ---------------------------
|
|
#
|
|
# These settings are only applied when repmgrd is running. Values shown
|
|
# are defaults.
|
|
|
|
# Number of seconds to wait for a response from the primary server before
|
|
# deciding it has failed.
|
|
|
|
#master_response_timeout=60
|
|
|
|
# Number of attempts at what interval (in seconds) to try and
|
|
# connect to a server to establish its status (e.g. master
|
|
# during failover)
|
|
#reconnect_attempts=6
|
|
#reconnect_interval=10
|
|
|
|
# Autofailover options
|
|
#failover=manual # one of 'automatic', 'manual' (default: manual)
|
|
# defines the action to take in the event of upstream failure
|
|
#
|
|
# 'automatic': repmgrd will automatically attempt to promote the
|
|
# node or follow the new upstream node
|
|
# 'manual': repmgrd will take no action and the mode will require
|
|
# manual attention to reattach it to replication
|
|
|
|
#priority=100 # indicate a preferred priorty for promoting nodes
|
|
# a value of zero or less prevents the node being promoted to primary
|
|
# (default: 100)
|
|
|
|
#promote_command='repmgr standby promote -f /path/to/repmgr.conf'
|
|
#follow_command='repmgr standby follow -f /path/to/repmgr.conf -W'
|
|
|
|
# monitoring interval in seconds; default is 2
|
|
#monitor_interval_secs=2
|
|
|
|
# change wait time for primary; before we bail out and exit when the primary
|
|
# disappears, we wait 'reconnect_attempts' * 'retry_promote_interval_secs'
|
|
# seconds; by default this would be half an hour, as 'retry_promote_interval_secs'
|
|
# default value is 300)
|
|
#retry_promote_interval_secs=300
|
|
|
|
# Number of seconds after which the witness server resyncs the repl_nodes table
|
|
#witness_repl_nodes_sync_interval_secs=15
|