ALTER USER -- Modifies user properties and permissions.
Synopsis
ALTER USER username
[ WITH PASSWORD 'password' ]
[ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
[ VALID UNTIL 'abstime' ]
Parameters & Keywords
username
The name of the PostgreSQL database user to be modified.
password
An optional new password to assign to the modified PostgreSQL user.
CREATEDB | NOCREATEDB
The privilege to create new databases. Use CREATEDB, to give the user permission to create databases. Use NOCREATEDB to explicitly deny that permission (which is the default).
CREATEUSER | NOCREATEUSER
The superuser privilege. The use of CREATEUSER allows access to both the CREATE USER and DROP USER commands, as well as makes the user a superuser (with universal rights across all databases). NOCREATEUSER is the default.
Specifying that a PostgreSQL user is able to create other users also automatically classifies the
user as a superuser in the database; this can be a security risk if unintentional. A superuser can override all other access
restrictions.
abstime
The timestamp that defines when a user's password expires. When the date and time defined by abstime is reached, the user's defined password will become invalid. If unset, the password never expires.
Results
ALTER USER
The message returned when the ALTER USER command is successful.
ERROR: ALTER USER: user "username" does not exist
The error returned if username does not exist in the pg_shadow users table.
Description
Use the ALTER USER to change the attributes and permissions of a PostgreSQL database user.
Note: Only a database superuser can change privileges and password expiration values with ALTER USER. Ordinary users are only permitted to change their own password.
To create and remove PostgreSQL database users, use the CREATE USER command and the DROP USER command, respectively.
Examples
The following example changes the password for user mark:
booktown=# ALTER USER mark WITH PASSWORD 'ml0215em';
ALTER USER
The next example demonstrates changing the password expiration date for the user mark:
booktown=# ALTER USER mark VALID UNTIL 'Dec 24 2012';
ALTER USER