Let’s see how to change a user’s password or your own password in PostgreSQL. We’ll also discuss how to avoid sending the password in clear over a network.
Changing a user password
To change a user’s password we can use
ALTER ROLE helen WITH PASSWORD 'LedZeppelin_vol4';
WITH is optional, so we could just write:
ALTER ROLE helen PASSWORD 'LedZeppelin_vol4';
To use no password for a certain user, specify
Encrypting the password
It is a good idea to avoid passwords to be sent over a network in clear. So we can provide PostgreSQL an already encrypted password. PostgreSQL will automatically find out that the password is already encrypted.
ALTER ROLE helen PASSWORD 'e3a71c4af3b43149374191c008962ccc';
Starting with PostgreSQL 10, the encryption algorithm can be set with
password_encryption. Allowed values are
'scram-sha-256' (default) and
'md5'. In older PostgreSQL versions, passwords could only be encrypted as
Changing your own password
The above commands work for your own user as well. But if you’re using the psql client, there is a simpler way:
postgres=# \password Enter new password: Enter it again:
psql will not send an unencrypted password over the network.