The following bug has been logged on the website:
Bug reference: 16239
Logged by: Valeh Agayev
Email address: valeh.agayev@gmail.com
PostgreSQL version: 12.1
Operating system: CentOS Linux release 7.7.1908 (Core)
Description:
It is not possible to upgrade the password from md5 to SCRAM with \password
command, but with alter command is possible.
postgres=# SHOW password_encryption;
password_encryption
---------------------
scram-sha-256
(1 row)
postgres=# SELECT rolname,rolpassword ~'^SCRAM-SHA-256\$' AS has_upgraded
FROM pg_authid WHERE rolcanlogin;
rolname | has_upgraded
---------- +--------------
u1 | f
postgres | f
postgres=# \password u1;
Enter new password:
Enter it again:
postgres=# SELECT rolname,rolpassword ~'^SCRAM-SHA-256\$' AS has_upgraded
FROM pg_authid WHERE rolcanlogin;
rolname | has_upgraded
postgres | f
u1 | f
(5 rows)
postgres=# alter user u1 encrypted PASSWORD '123';
ALTER ROLE
postgres=# SELECT rolname,rolpassword ~'^SCRAM-SHA-256\$' AS has_upgraded
FROM pg_authid WHERE rolcanlogin;
rolname | has_upgraded
----------+--------------
postgres | f
u1 | t