Let _establish_db_connection() work with replication connections

Previously this was limited to establish_db_connection_by_params().
This commit is contained in:
Ian Barwick
2019-10-23 14:44:51 +09:00
parent 9976e646cd
commit 63ddc2d39e

View File

@@ -161,6 +161,7 @@ _establish_db_connection(const char *conninfo, const bool exit_on_error, const b
char *errmsg = NULL; char *errmsg = NULL;
t_conninfo_param_list conninfo_params = T_CONNINFO_PARAM_LIST_INITIALIZER; t_conninfo_param_list conninfo_params = T_CONNINFO_PARAM_LIST_INITIALIZER;
bool is_replication_connection = false;
bool parse_success = false; bool parse_success = false;
initialize_conninfo_params(&conninfo_params, false); initialize_conninfo_params(&conninfo_params, false);
@@ -179,6 +180,9 @@ _establish_db_connection(const char *conninfo, const bool exit_on_error, const b
param_set_ine(&conninfo_params, "connect_timeout", "2"); param_set_ine(&conninfo_params, "connect_timeout", "2");
param_set_ine(&conninfo_params, "fallback_application_name", "repmgr"); param_set_ine(&conninfo_params, "fallback_application_name", "repmgr");
if (param_get(&conninfo_params, "replication") != NULL)
is_replication_connection = true;
connection_string = param_list_to_string(&conninfo_params); connection_string = param_list_to_string(&conninfo_params);
log_debug(_("connecting to: \"%s\""), connection_string); log_debug(_("connecting to: \"%s\""), connection_string);
@@ -224,7 +228,8 @@ _establish_db_connection(const char *conninfo, const bool exit_on_error, const b
* XXX set this explicitly before any write operations * XXX set this explicitly before any write operations
*/ */
else if (set_config(conn, "synchronous_commit", "local") == false) else if (is_replication_connection == false &&
set_config(conn, "synchronous_commit", "local") == false)
{ {
if (exit_on_error) if (exit_on_error)
{ {