diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index 5968c20..5f07e51 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -192,7 +192,8 @@ _connectDB(ArchiveHandle *AH, const char *reqdb, const char *requser) } } while (new_pass); - AH->savedPassword = password; + if (PQconnectionUsedPassword(newConn)) + AH->savedPassword = pg_strdup(PQpass(newConn)); /* check for version mismatch */ _check_database_version(AH); @@ -282,7 +283,8 @@ ConnectDatabase(Archive *AHX, } } while (new_pass); - AH->savedPassword = password; + if (PQconnectionUsedPassword(AH->connection)) + AH->savedPassword = pg_strdup(PQpass(AH->connection)); /* check to see that the backend connection was successfully made */ if (PQstatus(AH->connection) == CONNECTION_BAD)