DROP OWNED BY drops all objects owned by and any on objects not owned by a .
The “ statement performs a schema change. For more information about how online schema changes work in CockroachDB, see .
Required privileges
The must have theDROP on the specified objects.
DROP OWNED BY will result in an error if the user was granted a (i.e., using the statement). To work around this, use and then use for each system-level privilege in the result.
Synopsis
Parameters
| Parameter | Description |
|---|---|
role_spec_list | The source , or a comma-separated list of source roles. |
RESTRICT | (Default) Do not drop ownership if any objects (such as and tables) use it. |
CASCADE | Not implemented. |
Known limitations
- types are not dropped.
- drops all owned objects as well as any on objects not owned by the .
-
If the for which you are trying to
DROP OWNED BYwas granted a (i.e., using the statement), the following error will be signalled:The phrase “synthetic privileges” in the error message refers to . The workaround is to use and then use for each privilege in the result.
Examples
The following examples assume a . They involve a user we will create calledmaxroach and several tables. The setup is shown below.
From a Terminal window, open a SQL shell as the root user:
maxroach:
maxroach.
Drop all objects owned by a user/role
From themaxroach user’s SQL shell, create a table called max_kv:
maxroach, use :
maxroach, switch to the root user’s SQL shell and use DROP OWNED BY:
maxroach only owns the max_kv table, so this will drop that table from the database completely. To confirm that the table has been dropped, run :
root user’s SQL shell, use to further confirm that the maxroach user has no remaining object grants:
Drop all grants on objects for a user/role
From theroot user’s SQL shell, create a table called root_kv:
maxroach using :
maxroach has all privileges on the table using :
maxroach user’s SQL shell, and insert some data into the table. It should succeed:
root user’s SQL shell and use DROP OWNED BY to remove all grants on objects to the user maxroach:
maxroach has no grants on any objects using :
maxroach user’s SQL shell and try to insert data into the root_kv table. This should signal an error:

