DROP ROLE (Enterprise)

2020-02-16

The DROP ROLE statement removes one or more SQL roles.

{{site.data.alerts.callout_info}}DROP ROLE is an enterprise-only feature.{{site.data.alerts.end}}

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

{% include {{ page.version.version }}/sql/diagrams/drop_role.html %}

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.

> SHOW GRANTS ON documents FOR dev_ops;
+------------+--------+-----------+---------+------------+
|  Database  | Schema |   Table   |  User   | Privileges |
+------------+--------+-----------+---------+------------+
| jsonb_test | public | documents | dev_ops | INSERT     |
+------------+--------+-----------+---------+------------+
> REVOKE INSERT ON documents FROM dev_ops;

{{site.data.alerts.callout_info}}All of a role's privileges must be revoked before the role can be dropped.{{site.data.alerts.end}}

> DROP ROLE dev_ops;
DROP ROLE 1

See also