From ad6ecef2abcbb2266d298f3eb5cc16492dfb9109 Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Mon, 13 Mar 2017 13:26:24 +0900 Subject: [PATCH] repmgr: clean up `standby follow` code --- repmgr.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/repmgr.c b/repmgr.c index 9b12a9b7..6fdf3fc3 100644 --- a/repmgr.c +++ b/repmgr.c @@ -4778,18 +4778,27 @@ do_standby_follow(void) PQfinish(conn); - conn = establish_db_connection_quiet(upstream_node_record.conninfo_str); - if (PQstatus(conn) != CONNECTION_OK) + + if (upstream_query_result != 1) { - log_info("unable to connect to old upstream node %i to remove replication slot\n", - original_upstream_node_id); - log_hint("if reusing this node, you should manually remove any inactive replication slots\n"); + log_warning(_("unable to retrieve node record for old upstream node %i"), + original_upstream_node_id); } else { - drop_replication_slot_if_exists(conn, - original_upstream_node_id, - local_node_record.slot_name); + conn = establish_db_connection_quiet(upstream_node_record.conninfo_str); + if (PQstatus(conn) != CONNECTION_OK) + { + log_info(_("unable to connect to old upstream node %i to remove replication slot\n"), + original_upstream_node_id); + log_hint(_("if reusing this node, you should manually remove any inactive replication slots\n")); + } + else + { + drop_replication_slot_if_exists(conn, + original_upstream_node_id, + local_node_record.slot_name); + } } }