mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-23 15:16:29 +00:00
200 lines
7.3 KiB
Plaintext
200 lines
7.3 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 override the default pg_ctl commands
|
|
# used to stop, start, restart, reload and promote 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
|
|
#
|
|
# service_start_command = systemctl start postgresql-9.5
|
|
# service_stop_command = systemctl stop postgresql-9.5
|
|
# service_restart_command = systemctl restart postgresql-9.5
|
|
# service_reload_command = pg_ctlcluster 9.5 main reload
|
|
# service_promote_command = pg_ctlcluster 9.5 main promote
|
|
|
|
# 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.
|
|
|
|
# monitoring interval in seconds; default is 2
|
|
#monitor_interval_secs=2
|
|
|
|
# Maximum 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'
|
|
|
|
# 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
|