diff --git a/doc/appendix-faq.sgml b/doc/appendix-faq.sgml
index d5fe882e..5783153e 100644
--- a/doc/appendix-faq.sgml
+++ b/doc/appendix-faq.sgml
@@ -303,5 +303,16 @@
+
+
+ repmgrd ignores pg_bindir when executing promote_command or follow_command
+
+
+ promote_command or follow_command can be user-defined scripts,
+ so &repmgr; will not apply even if excuting &repmgr;. Always provide the full
+ path; see for more details.
+
+
+
diff --git a/doc/configuration-file-service-commands.sgml b/doc/configuration-file-service-commands.sgml
index 30d30933..a259801a 100644
--- a/doc/configuration-file-service-commands.sgml
+++ b/doc/configuration-file-service-commands.sgml
@@ -48,6 +48,13 @@
service_reload_command
+
+
+ &repmgr; will not apply when executing any of these commands;
+ these can be user-defined scripts so must always be specified with the full path.
+
+
+
It's also possible to specify a service_promote_command.
diff --git a/doc/quickstart.sgml b/doc/quickstart.sgml
index 070a48df..03899743 100644
--- a/doc/quickstart.sgml
+++ b/doc/quickstart.sgml
@@ -240,11 +240,28 @@
For Debian-based distributions we recommend explictly setting
- pg_bindir to the directory where pg_ctl and other binaries
+ to the directory where pg_ctl and other binaries
not in the standard path are located. For PostgreSQL 9.6 this would be /usr/lib/postgresql/9.6/bin/.
+
+
+ &repmgr; only uses when it executes
+ PostgreSQL binaries directly.
+
+
+ For user-defined scripts such as and the
+ various s, you must
+ always explicitly provide the full path to the binary or script being
+ executed, even if it is &repmgr; itself.
+
+
+ This is because these options can contain user-defined scripts in arbitrary
+ locations, so prepending may break them.
+
+
+
See the file
repmgr.conf.sample>
diff --git a/doc/repmgrd-configuration.sgml b/doc/repmgrd-configuration.sgml
index ce43bd07..02d02e43 100644
--- a/doc/repmgrd-configuration.sgml
+++ b/doc/repmgrd-configuration.sgml
@@ -64,8 +64,17 @@
follow_command='/usr/bin/repmgr standby follow -f /etc/repmgr.conf --log-to-file --upstream-node-id=%n'
- Adjust file paths as appropriate; we recomment specifying the full path to the &repmgr; binary.
+ Adjust file paths as appropriate; alway specify the full path to the &repmgr; binary.
+
+
+
+ &repmgr; will not apply when executing
+ or ; these can be user-defined scripts so must always be
+ specified with the full path.
+
+
+
Note that the --log-to-file option will cause
output generated by the &repmgr; command, when executed by repmgrd,
diff --git a/repmgr.conf.sample b/repmgr.conf.sample
index 135f72d7..9699dbda 100644
--- a/repmgr.conf.sample
+++ b/repmgr.conf.sample
@@ -143,6 +143,11 @@
# Debian/Ubuntu users: you will probably need to
# set this to the directory where `pg_ctl` is located,
# e.g. /usr/lib/postgresql/9.6/bin/
+ #
+ # *NOTE* "pg_bindir" is only used when repmgr directly
+ # executes PostgreSQL binaries; any user-defined scripts
+ # *must* be specified with the full path
+ #
#use_primary_conninfo_password=false # explicitly set "password" in recovery.conf's
# "primary_conninfo" parameter using the value contained
# in the environment variable PGPASSWORD
@@ -183,11 +188,11 @@ ssh_options='-q -o ConnectTimeout=10' # Options to append to "ssh"
# parameter can be provided multiple times.
#restore_command='' # This will be placed in the recovery.conf file generated
- # by repmgr.
+ # by repmgr.
#archive_cleanup_command='' # This will be placed in the recovery.conf file generated
- # by repmgr. Note we recommend using Barman for managing
- # WAL archives (see: https://www.pgbarman.org )
+ # by repmgr. Note we recommend using Barman for managing
+ # WAL archives (see: https://www.pgbarman.org )
#recovery_min_apply_delay= # If provided, "recovery_min_apply_delay" in recovery.conf
# will be set to this value (PostgreSQL 9.4 and later).
@@ -259,10 +264,10 @@ ssh_options='-q -o ConnectTimeout=10' # Options to append to "ssh"
# are defaults.
#repmgrd_pid_file= # Path of PID file to use for repmgrd; if not set, a PID file will
- # be generated in a temporary directory specified by the environment
- # variable $TMPDIR, or if not set, in "/tmp". This value can be overridden
- # by the command line option "-p/--pid-file"; the command line option
- # "--no-pid-file" will force PID file creation to be skipped.
+ # be generated in a temporary directory specified by the environment
+ # variable $TMPDIR, or if not set, in "/tmp". This value can be overridden
+ # by the command line option "-p/--pid-file"; the command line option
+ # "--no-pid-file" will force PID file creation to be skipped.
#failover=manual # one of 'automatic', 'manual'.
# determines what action to take in the event of upstream failure
#
@@ -332,7 +337,7 @@ ssh_options='-q -o ConnectTimeout=10' # Options to append to "ssh"
#
# Debian/Ubuntu users: use "sudo pg_ctlcluster" to execute service control commands.
#
-# For more details, see: https://repmgr.org/docs/4.0/configuration-service-commands.html
+# For more details, see: https://repmgr.org/docs/4.1/configuration-service-commands.html
#service_start_command = ''
#service_stop_command = ''
@@ -376,7 +381,7 @@ ssh_options='-q -o ConnectTimeout=10' # Options to append to "ssh"
#------------------------------------------------------------------------------
#bdr_local_monitoring_only=false # Only monitor the local node; no checks will be
- # performed on the other node
+ # performed on the other node
#bdr_recovery_timeout # If a BDR node was offline and has become available
- # maximum length of time in seconds to wait for the
- # node to reconnect to the cluster
+ # maximum length of time in seconds to wait for the
+ # node to reconnect to the cluster