The DROP USER statement removes one or more SQL users.

Note:

Since the keywords ROLE and USER can now be used interchangeably in SQL statements for enhanced Postgres compatibility, DROP USER is now an alias for DROP ROLE.

Consideration

Users that own objects (such as databases, tables, schemas, and types) cannot be dropped until the ownership is transferred to another user.

Required privileges

Non-admin users cannot drop admin users. To drop non-admin users, the user must be a member of the admin role or have the CREATEROLE parameter set.

Synopsis

DROP USER IF EXISTS user_name ,

Parameters

Parameter Description
user_name The username of the user to remove. To remove multiple users, use a comma-separate list of usernames.

You can use SHOW USERS to find usernames.

Example

All of a user's privileges must be revoked before the user can be dropped.

In this example, first check a user's privileges. Then, revoke the user's privileges before removing the user.

copy
icon/buttons/copy
> SHOW GRANTS ON test.customers FOR mroach;
+-----------+--------+------------+
|   Table   |  User  | Privileges |
+-----------+--------+------------+
| customers | mroach | CREATE     |
| customers | mroach | INSERT     |
| customers | mroach | UPDATE     |
+-----------+--------+------------+
(3 rows)
copy
icon/buttons/copy
> REVOKE CREATE,INSERT,UPDATE ON test.customers FROM mroach;
copy
icon/buttons/copy
> DROP USER mroach;

See also



Yes No