From 0c531e07e7bcf476842c265659a6cba3044e5a72 Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Wed, 21 Jun 2017 10:25:12 +0900 Subject: [PATCH] repmgr standby promote: add detail about an existing master --- repmgr-action-standby.c | 19 ++++++++++++++++--- repmgr-client.c | 2 -- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/repmgr-action-standby.c b/repmgr-action-standby.c index 45b9ae52..7375b1af 100644 --- a/repmgr-action-standby.c +++ b/repmgr-action-standby.c @@ -1050,9 +1050,11 @@ do_standby_promote(void) promote_check_timeout = 60, promote_check_interval = 2; bool promote_success = false; - bool success; + bool success; PQExpBufferData details; + int existing_master_id = UNKNOWN_NODE_ID; + log_info(_("connecting to standby database")); conn = establish_db_connection(config_file_options.conninfo, true); @@ -1082,12 +1084,23 @@ do_standby_promote(void) /* we also need to check if there isn't any master already */ - current_master_conn = get_master_connection(conn, NULL, NULL); + current_master_conn = get_master_connection(conn, &existing_master_id, NULL); if (PQstatus(current_master_conn) == CONNECTION_OK) { log_error(_("this cluster already has an active master server")); - // say which one as detail + + if (existing_master_id != UNKNOWN_NODE_ID) + { + t_node_info master_rec; + + get_node_record(conn, existing_master_id, &master_rec); + + log_detail(_("current master is %s (node_id: %i)"), + master_rec.node_name, + existing_master_id); + } + PQfinish(current_master_conn); PQfinish(conn); exit(ERR_PROMOTION_FAIL); diff --git a/repmgr-client.c b/repmgr-client.c index 361af093..29eb87dd 100644 --- a/repmgr-client.c +++ b/repmgr-client.c @@ -1262,8 +1262,6 @@ do_help(void) } - - /* * Create the repmgr extension, and grant access for the repmgr * user if not a superuser.