summaryrefslogtreecommitdiff
path: root/src/bin/psql/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/command.c')
-rw-r--r--src/bin/psql/command.c20
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);