DROP USER
Description
Drops a user and the schema with the same name as the user.
Precautions
- CASCADE is used to drop the objects (excluding databases) that depend on the user. It cannot drop locked objects unless the objects are unlocked or the processes locking the objects are terminated.
- In GaussDB, the enable_kill_query configuration parameter exists in the postgresql.conf file. This parameter affects CASCADE.
- If enable_kill_query is on and CASCADE is used, the statement automatically kills the processes locking dependent objects and then drops the specified user.
- If enable_kill_query is off and CASCADE is used, the statement waits until the processes locking dependent objects stop and then drops the specified user.
- If the dependent objects are other databases or reside in other databases, manually drop them before dropping the user from the current database. DROP USER cannot drop objects across databases.
- Before dropping a user, you need to drop all the objects owned by the user and revoke the user's permissions on other objects. Alternatively, you can specify CASCADE to drop the objects owned by the user and the granted permissions.
- In a multi-tenant scenario, the service user will also be dropped when you drop a user group. If you want to use CASCADE, set CASCADE for the service user as well. If any error is reported for one user, other users cannot be dropped either.
- If the user has an error table specified when the GDS foreign table is created, the user cannot be deleted by specifying CASCADE in the DROP USER statement.
Syntax
DROP USER [ IF EXISTS ] user_name [, ...] [ CASCADE | RESTRICT ];
Parameters
- IF EXISTS
Reports a notice instead of an error if the specified user does not exist.
- user_name
Specifies the name of the user to be dropped.
Value range: an existing username.
- CASCADE | RESTRICT
- CASCADE: automatically drops objects that depend on the user and revokes the permissions granted to the user.
- RESTRICT: refuses to drop a user if the user has any dependent objects or has been granted permissions on other objects. This is the default value.
In GaussDB, the enable_kill_query configuration parameter exists in the postgresql.conf file. This parameter affects CASCADE.
- If enable_kill_query is on and CASCADE is used, the statement automatically kills the processes locking dependent objects and then drops the specified user.
- If enable_kill_query is off and CASCADE is used, the statement waits until the processes locking dependent objects stop and then drops the specified user.
Examples
See Examples in "CREATE USER."
Helpful Links
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot