mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-26 16:46:28 +00:00
Ensure --force option works with "master register"
This was failing previously if repmgr was able to connect to the master database
This commit is contained in:
21
repmgr.c
21
repmgr.c
@@ -728,9 +728,8 @@ do_master_register(void)
|
|||||||
log_info(_("master register: creating database objects inside the %s schema\n"),
|
log_info(_("master register: creating database objects inside the %s schema\n"),
|
||||||
get_repmgr_schema());
|
get_repmgr_schema());
|
||||||
|
|
||||||
|
|
||||||
begin_transaction(conn);
|
begin_transaction(conn);
|
||||||
/* ok, create the schema */
|
|
||||||
if (!create_schema(conn))
|
if (!create_schema(conn))
|
||||||
{
|
{
|
||||||
log_err(_("Unable to create repmgr schema - see preceding error message(s); aborting\n"));
|
log_err(_("Unable to create repmgr schema - see preceding error message(s); aborting\n"));
|
||||||
@@ -742,24 +741,28 @@ do_master_register(void)
|
|||||||
commit_transaction(conn);
|
commit_transaction(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Ensure there isn't any other master already registered */
|
/* Ensure there isn't any other master already registered */
|
||||||
master_conn = get_master_connection(conn,
|
master_conn = get_master_connection(conn,
|
||||||
options.cluster_name, NULL, NULL);
|
options.cluster_name, NULL, NULL);
|
||||||
if (master_conn != NULL)
|
|
||||||
|
if (master_conn != NULL && !runtime_options.force)
|
||||||
{
|
{
|
||||||
PQfinish(master_conn);
|
PQfinish(master_conn);
|
||||||
log_warning(_("there is a master already in cluster %s\n"),
|
log_err(_("there is a master already in cluster %s\n"),
|
||||||
options.cluster_name);
|
options.cluster_name);
|
||||||
exit(ERR_BAD_CONFIG);
|
exit(ERR_BAD_CONFIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Delete any existing record for this node if --force set */
|
||||||
if (runtime_options.force)
|
if (runtime_options.force)
|
||||||
{
|
{
|
||||||
bool node_record_deleted = delete_node_record(conn,
|
bool node_record_deleted;
|
||||||
options.node,
|
|
||||||
"master register");
|
log_notice(_("deleting existing master record with id %i\n"), options.node);
|
||||||
|
|
||||||
|
node_record_deleted = delete_node_record(conn,
|
||||||
|
options.node,
|
||||||
|
"master register");
|
||||||
|
|
||||||
if (node_record_deleted == false)
|
if (node_record_deleted == false)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user