diff --git a/dbutils.c b/dbutils.c index 26097ac2..a66ee72a 100644 --- a/dbutils.c +++ b/dbutils.c @@ -43,6 +43,8 @@ int bdr_version_num = UNKNOWN_BDR_VERSION_NUM; static void log_db_error(PGconn *conn, const char *query_text, const char *fmt,...) __attribute__((format(PG_PRINTF_ATTRIBUTE, 3, 4))); +static bool _is_server_available(const char *conninfo, bool quiet); + static PGconn *_establish_db_connection(const char *conninfo, const bool exit_on_error, const bool log_notice, @@ -4312,6 +4314,20 @@ wait_connection_availability(PGconn *conn, int timeout) bool is_server_available(const char *conninfo) +{ + return _is_server_available(conninfo, false); +} + + +bool +is_server_available_quiet(const char *conninfo) +{ + return _is_server_available(conninfo, true); +} + + +static bool +_is_server_available(const char *conninfo, bool quiet) { PGPing status = PQping(conninfo); @@ -4319,8 +4335,11 @@ is_server_available(const char *conninfo) if (status == PQPING_OK) return true; - log_warning(_("unable to ping \"%s\""), conninfo); - log_detail(_("PQping() returned \"%s\""), print_pqping_status(status)); + if (quiet == false) + { + log_warning(_("unable to ping \"%s\""), conninfo); + log_detail(_("PQping() returned \"%s\""), print_pqping_status(status)); + } return false; } diff --git a/dbutils.h b/dbutils.h index d579ca9e..d15de5e1 100644 --- a/dbutils.h +++ b/dbutils.h @@ -518,6 +518,7 @@ int wait_connection_availability(PGconn *conn, int timeout); /* node availability functions */ bool is_server_available(const char *conninfo); +bool is_server_available_quiet(const char *conninfo); bool is_server_available_params(t_conninfo_param_list *param_list); ExecStatusType connection_ping(PGconn *conn); ExecStatusType connection_ping_reconnect(PGconn *conn); diff --git a/repmgr-action-cluster.c b/repmgr-action-cluster.c index effd305c..7049eb48 100644 --- a/repmgr-action-cluster.c +++ b/repmgr-action-cluster.c @@ -156,7 +156,7 @@ do_cluster_show(void) else { /* check if node is reachable, but just not letting us in */ - if (is_server_available(cell->node_info->conninfo)) + if (is_server_available_quiet(cell->node_info->conninfo)) cell->node_info->node_status = NODE_STATUS_REJECTED; else cell->node_info->node_status = NODE_STATUS_DOWN;