The DROP ROLE statement removes one or more SQL roles.

Note:
DROP ROLE is an enterprise-only feature.

Considerations

  • The admin role cannot be dropped, and root must always be a member of admin.
  • A role cannot be dropped if it has privileges. Use REVOKE to remove privileges.

Required privileges

Roles can only be dropped by super users, i.e., members of the admin role.

Synopsis

DROP ROLE IF EXISTS name

Parameters

Parameter Description
name The name of the role to remove. To remove multiple roles, use a comma-separate list of roles.

You can use SHOW ROLES to find the names of roles.

Example

In this example, first check a role's privileges. Then, revoke the role's privileges and remove the role.

copy
icon/buttons/copy
> SHOW GRANTS ON documents FOR dev_ops;
+------------+--------+-----------+---------+------------+
|  Database  | Schema |   Table   |  User   | Privileges |
+------------+--------+-----------+---------+------------+
| jsonb_test | public | documents | dev_ops | INSERT     |
+------------+--------+-----------+---------+------------+
copy
icon/buttons/copy
> REVOKE INSERT ON documents FROM dev_ops;
Note:
All of a role's privileges must be revoked before the role can be dropped.
copy
icon/buttons/copy
> DROP ROLE dev_ops;
DROP ROLE 1

See also



Yes No