From c092ce60a7acd835c3623e70260e401be9e5339a Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Wed, 24 Apr 2019 14:48:38 +0900 Subject: [PATCH] doc: document "child_node..." configuration parameters --- doc/repmgrd-automatic-failover.sgml | 172 ++++++++++++++++++++++++++-- 1 file changed, 160 insertions(+), 12 deletions(-) diff --git a/doc/repmgrd-automatic-failover.sgml b/doc/repmgrd-automatic-failover.sgml index 7559d00c..fdb70557 100644 --- a/doc/repmgrd-automatic-failover.sgml +++ b/doc/repmgrd-automatic-failover.sgml @@ -204,7 +204,7 @@ Every few seconds (defined by the configuration parameter child_nodes_check_interval; - a value of 0 disables this altogether), repmgrd queries + default: 5 seconds, a value of 0 disables this altogether), repmgrd queries the pg_stat_replication system view and compares the nodes present there against the list of nodes registered with &repmgr; which should be attached to the primary. @@ -240,7 +240,7 @@ repmgr.conf, repmgrd will then loop through all child nodes. If it determines that insufficient child nodes are connected, and a minimum of child_nodes_disconnect_timeout seconds (default: 30) - has elapsed since the last node became disconnected, repmgrd will then execute the + has elapsed since the last node became disconnected, repmgrd will then execute the child_nodes_disconnect_command script. @@ -252,16 +252,6 @@ is connected). Alternatively, if child_nodes_disconnect_min_count and more than that number of child nodes disconnects, the script will be triggered. - - The child_nodes_disconnect_command script will only be executed once - while the criteria for its execution are met. If the criteria for its execution are no longer - met (i.e. some child nodes have reconnected), it will be executed again if - the criteria for its execution are met again. - - - The child_nodes_disconnect_command script will not be executed if - repmgrd is paused. - @@ -285,7 +275,165 @@ Standby disconnections monitoring process configuration + The following parameters, set in repmgr.conf, + control how child node disconnection monitoring operates. + + + + + child_nodes_check_interval + child node disconnection monitoring + + child_nodes_check_interval + + + Interval (in seconds) after which repmgrd queries the + pg_stat_replication system view and compares the nodes present + there against the list of nodes registered with repmgr which should be attached to the primary. + + + Default is 5 seconds, a value of 0 disables this check + altogether. + + + + + + + child_nodes_disconnect_command + child node disconnection monitoring + + child_nodes_disconnect_command + + + User-definable script to be executed when repmgrd + determines that an insufficient number of child nodes are connected. By default + the script is executed when no child nodes are executed, but the execution + threshold can be modified by setting one of child_nodes_connected_min_count + orchild_nodes_disconnect_min_count (see below). + + + The child_nodes_disconnect_command script can be + any user-defined script or program. It must be able + to be executed by the system user under which the PostgreSQL server itself + runs (usually postgres). + + + If specified, the following format placeholder will be substituted when + executing child_nodes_disconnect_command: + + + + + + + + ID of the node executing the child_nodes_disconnect_command script. + + + + + + + The child_nodes_disconnect_command script will only be executed once + while the criteria for its execution are met. If the criteria for its execution are no longer + met (i.e. some child nodes have reconnected), it will be executed again if + the criteria for its execution are met again. + + + The child_nodes_disconnect_command script will not be executed if + repmgrd is paused. + + + + + + + + child_nodes_disconnect_timeout + child node disconnection monitoring + + child_nodes_disconnect_timeout + + + If repmgrd determines that an insufficient number of + child nodes are connected, it will wait for the specified number of seconds + to execute the child_nodes_disconnect_command. + + + Default: 30 seconds. + + + + + + + child_nodes_connected_min_count + child node disconnection monitoring + + child_nodes_connected_min_count + + + If the number of child nodes connected falls below the number specified in + this parameter, the child_nodes_disconnect_command script + will be executed. + + + For example, if child_nodes_connected_min_count is set + to 2, the child_nodes_disconnect_command + script will be executed if one or no child nodes are connected. + + + Note that child_nodes_connected_min_count overrides any value + set in child_nodes_disconnect_min_count. + + + If neither of child_nodes_connected_min_count or + child_nodes_disconnect_min_count are set, + the child_nodes_disconnect_command script + will be executed when no child nodes are connected. + + + + + + + + + child_nodes_disconnect_min_count + child node disconnection monitoring + + child_nodes_disconnect_min_count + + + If the number of disconnected child nodes exceeds the number specified in + this parameter, the child_nodes_disconnect_command script + will be executed. + + + + For example, if child_nodes_disconnect_min_count is set + to 2, the child_nodes_disconnect_command + script will be executed if more than two child nodes are disconnected. + + + + Note that any value set in child_nodes_disconnect_min_count + will be overriden by child_nodes_connected_min_count. + + + If neither of child_nodes_connected_min_count or + child_nodes_disconnect_min_count are set, + the child_nodes_disconnect_command script + will be executed when no child nodes are connected. + + + + + + +