Name
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