The documentation of CREATE/ALTER ROLE has been missing two things
related to PASSWORD:
- The password value provided needs to be quoted, some places of the
documentation marked the field with quotes, but not others, which led to
confusion.
- PASSWORD NULL was not provided consistently, with ENCRYPTED being not
compatible with it.
Reported-by: Steven Winfield
Author: Michael Paquier
Reviewed-by: David G. Johnston
Discussion: https://postgr.es/m/
154282901979.1316.
7418475422120496802@wrigleys.postgresql.org
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
- | [ ENCRYPTED ] PASSWORD 'password'
+ | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
ALTER ROLE name RENAME TO new_name
BYPASSRLS
NOBYPASSRLS
CONNECTION LIMIT connlimit
- [ ENCRYPTED ] PASSWORD password
+ [ ENCRYPTED ] PASSWORD 'password'
+ PASSWORD NULL
VALID UNTIL 'timestamp'
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
- | [ ENCRYPTED ] PASSWORD 'password'
+ | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
ALTER USER name RENAME TO new_name
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
- | [ ENCRYPTED ] PASSWORD 'password'
+ | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
- [ ENCRYPTED ] PASSWORD password
+ [ ENCRYPTED ] PASSWORD 'password'
+ PASSWORD NULL
Sets the role's password. (A password is only of use for
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
- | [ ENCRYPTED ] PASSWORD 'password'
+ | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]