mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2026-06-21 01:34:15 +02:00
add check for interrupt in prompt for password
This commit is contained in:
+1
-2
@@ -447,8 +447,7 @@ do_backup(void)
|
||||
elog(ERROR, "Options for connection to master must be provided to perform backup from replica");
|
||||
|
||||
/* Create connection to master server */
|
||||
master_conn = pgut_connect_extended(master_host, master_port,
|
||||
master_db, master_user, password);
|
||||
master_conn = pgut_connect_extended(master_host, master_port, master_db, master_user);
|
||||
}
|
||||
|
||||
/* Get exclusive lock of backup catalog */
|
||||
|
||||
+7
-3
@@ -1015,12 +1015,12 @@ prompt_for_password(const char *username)
|
||||
PGconn *
|
||||
pgut_connect(const char *dbname)
|
||||
{
|
||||
return pgut_connect_extended(host, port, dbname, username, password);
|
||||
return pgut_connect_extended(host, port, dbname, username);
|
||||
}
|
||||
|
||||
PGconn *
|
||||
pgut_connect_extended(const char *pghost, const char *pgport,
|
||||
const char *dbname, const char *login, const char *pwd)
|
||||
const char *dbname, const char *login)
|
||||
{
|
||||
PGconn *conn;
|
||||
|
||||
@@ -1031,7 +1031,7 @@ pgut_connect_extended(const char *pghost, const char *pgport,
|
||||
for (;;)
|
||||
{
|
||||
conn = PQsetdbLogin(pghost, pgport, NULL, NULL,
|
||||
dbname, login, pwd);
|
||||
dbname, login, password);
|
||||
|
||||
if (PQstatus(conn) == CONNECTION_OK)
|
||||
return conn;
|
||||
@@ -1040,6 +1040,10 @@ pgut_connect_extended(const char *pghost, const char *pgport,
|
||||
{
|
||||
PQfinish(conn);
|
||||
prompt_for_password(username);
|
||||
|
||||
if (interrupted)
|
||||
elog(ERROR, "interrupted");
|
||||
|
||||
continue;
|
||||
}
|
||||
elog(ERROR, "could not connect to database %s: %s",
|
||||
|
||||
+1
-2
@@ -117,8 +117,7 @@ extern void pgut_atexit_pop(pgut_atexit_callback callback, void *userdata);
|
||||
*/
|
||||
extern PGconn *pgut_connect(const char *dbname);
|
||||
extern PGconn *pgut_connect_extended(const char *pghost, const char *pgport,
|
||||
const char *dbname, const char *login,
|
||||
const char *pwd);
|
||||
const char *dbname, const char *login);
|
||||
extern void pgut_disconnect(PGconn *conn);
|
||||
extern PGresult *pgut_execute(PGconn* conn, const char *query, int nParams, const char **params);
|
||||
extern bool pgut_send(PGconn* conn, const char *query, int nParams, const char **params, int elevel);
|
||||
|
||||
Reference in New Issue
Block a user