mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-22 22:56:29 +00:00
Initial implementation of "repmgr master unregister"
Also adds "--dry-run" option
This commit is contained in:
36
dbutils.c
36
dbutils.c
@@ -123,6 +123,26 @@ establish_db_connection_quiet(const char *conninfo)
|
||||
return _establish_db_connection(conninfo, false, false, true);
|
||||
}
|
||||
|
||||
|
||||
PGconn
|
||||
*establish_master_db_connection(PGconn *conn,
|
||||
const bool exit_on_error)
|
||||
{
|
||||
t_node_info master_node_info = T_NODE_INFO_INITIALIZER;
|
||||
bool master_record_found;
|
||||
|
||||
master_record_found = get_master_node_record(conn, &master_node_info);
|
||||
|
||||
if (master_record_found == false)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return establish_db_connection(master_node_info.conninfo,
|
||||
exit_on_error);
|
||||
}
|
||||
|
||||
|
||||
PGconn *
|
||||
establish_db_connection_as_user(const char *conninfo,
|
||||
const char *user,
|
||||
@@ -153,6 +173,8 @@ establish_db_connection_as_user(const char *conninfo,
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
PGconn *
|
||||
establish_db_connection_by_params(const char *keywords[], const char *values[],
|
||||
const bool exit_on_error)
|
||||
@@ -1241,6 +1263,19 @@ get_node_record_by_name(PGconn *conn, const char *node_name, t_node_info *node_i
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
get_master_node_record(PGconn *conn, t_node_info *node_info)
|
||||
{
|
||||
int master_node_id = get_master_node_id(conn);
|
||||
|
||||
if (master_node_id == UNKNOWN_NODE_ID)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return get_node_record(conn, master_node_id, node_info);
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
create_node_record(PGconn *conn, char *repmgr_action, t_node_info *node_info)
|
||||
@@ -1251,6 +1286,7 @@ create_node_record(PGconn *conn, char *repmgr_action, t_node_info *node_info)
|
||||
return _create_update_node_record(conn, "create", node_info);
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
update_node_record(PGconn *conn, char *repmgr_action, t_node_info *node_info)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user