mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-27 08:56:29 +00:00
Execute a CHECKPOINT immediately after promoting the server
This ensures "pg_control" is updated with the latest timeline, mainly to ensure that if "pg_rewind" is executed as part of a switchover that it sees the latest timeline. Per suggestion from GitHub user "superflav" in GitHub #378. See also: https://www.postgresql.org/message-id/flat/20150428180253.GU30322%40tamriel.snowman.net
This commit is contained in:
@@ -1976,6 +1976,13 @@ _do_standby_promote_internal(PGconn *conn, const char *data_dir)
|
|||||||
|
|
||||||
log_verbose(LOG_INFO, _("standby promoted to primary after %i second(s)"), i);
|
log_verbose(LOG_INFO, _("standby promoted to primary after %i second(s)"), i);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Execute a CHECKPOINT as soon as possible after promotion. The primary
|
||||||
|
* reason for this is to ensure that "pg_control" has the latest timeline
|
||||||
|
* before it's read by "pg_rewind", typically during a switchover operation.
|
||||||
|
*/
|
||||||
|
checkpoint(conn);
|
||||||
|
|
||||||
/* update node information to reflect new status */
|
/* update node information to reflect new status */
|
||||||
if (update_node_record_set_primary(conn, config_file_options.node_id) == false)
|
if (update_node_record_set_primary(conn, config_file_options.node_id) == false)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user