diff options
Diffstat (limited to 'src/bin/psql/command.c')
-rw-r--r-- | src/bin/psql/command.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 9103bc34657..eb216b7c09e 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -2158,29 +2158,15 @@ exec_command_password(PsqlScanState scan_state, bool active_branch) } else { - char *encrypted_password; + PGresult *res = PQchangePassword(pset.db, user, pw1); - encrypted_password = PQencryptPasswordConn(pset.db, pw1, user, NULL); - - if (!encrypted_password) + if (PQresultStatus(res) != PGRES_COMMAND_OK) { pg_log_info("%s", PQerrorMessage(pset.db)); success = false; } - else - { - PGresult *res; - printfPQExpBuffer(&buf, "ALTER USER %s PASSWORD ", - fmtId(user)); - appendStringLiteralConn(&buf, encrypted_password, pset.db); - res = PSQLexec(buf.data); - if (!res) - success = false; - else - PQclear(res); - PQfreemem(encrypted_password); - } + PQclear(res); } free(user); |