mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-23 23:26:30 +00:00
repmgrd: add configuration option "always_promote"
In certain corner cases, it's possible repmgrd may end up monitoring a standby which was a former primary, but the node record has not yet been updated. Previously repmgrd would abort the promotion with a cryptic message about being unable to find a node record for node_id -1 (the default value for an unknown node id). This commit addes a new configuration option "always_promote", which determines whether repmgrd should promote the node in this case. The default is "false", to effectively maintain the existing behaviour. Logging output has also been improved to make it clearer what has happened when this situation occurs.
This commit is contained in:
@@ -127,6 +127,14 @@
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Configuration option <varname>always_promote</varname> (default: <literal>false</literal>)
|
||||
to control whether a node should be promoted if the &repmgr; metadata is not up-to-date
|
||||
on that node.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
@@ -419,6 +419,33 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>always_promote</option></term>
|
||||
|
||||
<listitem>
|
||||
<indexterm>
|
||||
<primary>always_promote</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>
|
||||
Default: <literal>false</literal>.
|
||||
</para>
|
||||
<para>
|
||||
If <literal>true</literal>, promote the local node even if its
|
||||
&repmgr; metadata is not up-to-date.
|
||||
</para>
|
||||
<para>
|
||||
Normally &repmgr; expects its metadata (stored in the <varname>repmgr.nodes</varname>
|
||||
table) to be up-to-date so &repmgrd; can take the correct action during a failover.
|
||||
However it's possible that updates made on the primary may not
|
||||
have propagated to the standby (promotion candidate). In this case &repmgrd; will
|
||||
default to not promoting the standby. This behaviour can be overridden by setting
|
||||
<option>always_promote</option> to <literal>true</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
<varlistentry>
|
||||
|
||||
<term><option>standby_disconnect_on_failover</option></term>
|
||||
@@ -765,6 +792,12 @@ repmgrd_service_stop_command='sudo systemctl repmgr12 stop'
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>
|
||||
<varname>always_promote</varname>
|
||||
</simpara>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<simpara>
|
||||
<varname>promote_command</varname>
|
||||
|
||||
Reference in New Issue
Block a user