diff --git a/repmgr-action-standby.c b/repmgr-action-standby.c index 891c1823..e396b855 100644 --- a/repmgr-action-standby.c +++ b/repmgr-action-standby.c @@ -2268,6 +2268,7 @@ void do_standby_follow(void) { PGconn *local_conn = NULL; + t_node_info local_node_record = T_NODE_INFO_INITIALIZER; PGconn *primary_conn = NULL; int primary_node_id = UNKNOWN_NODE_ID; @@ -2306,6 +2307,19 @@ do_standby_follow(void) if (PQserverVersion(local_conn) < 90400) check_93_config(); + /* attempt to retrieve local node record */ + record_status = get_node_record(local_conn, + config_file_options.node_id, + &local_node_record); + + if (record_status != RECORD_FOUND) + { + log_error(_("unable to retrieve record for local node %i"), + config_file_options.node_id); + PQfinish(local_conn); + exit(ERR_BAD_CONFIG); + } + /* * --upstream-node-id provided - attempt to follow that node */ @@ -2550,6 +2564,9 @@ do_standby_follow(void) conn_to_param_list(local_conn, &local_repl_conninfo); + /* Set the replication user from the node record */ + param_set(&local_repl_conninfo, "user", local_node_record.repluser); + param_set(&local_repl_conninfo, "replication", "1"); local_repl_conn = establish_db_connection_by_params(&local_repl_conninfo, false);