# DROP USER

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [cloud-data-platform-full.txt](https://docs.redpanda.com/cloud-data-platform-full.txt)

---
title: DROP USER
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
latest-redpanda-tag: v26.1.9
docname: sql/sql-statements/drop-user
page-component-name: cloud-data-platform
page-version: master
page-component-version: master
page-component-title: Cloud
page-relative-src-path: sql/sql-statements/drop-user.adoc
page-edit-url: https://github.com/redpanda-data/cloud-docs/edit/main/modules/reference/pages/sql/sql-statements/drop-user.adoc
description: The DROP USER statement removes an existing user. The user cannot own objects or hold grants when dropped.
page-topic-type: reference
page-git-created-date: "2026-05-26"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/cloud-data-platform/reference/sql/sql-statements/drop-user.md -->

The `DROP USER` statement removes an existing user from Redpanda SQL. `DROP ROLE` is a synonym for `DROP USER`, provided for PostgreSQL compatibility. Only a superuser can run this statement.

A user cannot be dropped while they own objects (for example, a catalog or table created by that user) or hold privilege grants. Reassign or drop the owned objects and revoke the grants first, then drop the user.

> 📝 **NOTE**
>
> On Redpanda Cloud BYOC, the Cloud operator synchronizes users from Redpanda Cloud’s organization IAM. If you `DROP USER` for an identity that still exists in Redpanda Cloud IAM, the operator can re-provision the user on the next sync. Remove the user from Redpanda Cloud IAM first, or use the data-plane RBAC role to revoke their SQL access. See [Manage access to Redpanda SQL](https://docs.redpanda.com/cloud-data-platform/sql/manage/manage-access/).

## [](#syntax)Syntax

```sql
DROP { USER | ROLE } [IF EXISTS] user_name;
```

-   `user_name`: Name of the user to drop. Cannot be `CURRENT_USER` or `CURRENT_ROLE`. The user running the statement cannot drop themselves, and the protected system superuser cannot be dropped.

-   `IF EXISTS`: Optional. Prevents an error if the user does not exist.


## [](#examples)Examples

Drop an existing user:

```sql
DROP USER "alice@example.com";
```

Drop a user only if it exists:

```sql
DROP USER IF EXISTS "legacy-account@example.com";
```

If the user has dependent grants or owned objects, the statement fails with an error listing the objects. Revoke the grants and reassign or drop owned objects first:

```sql
REVOKE SELECT ON EXTERNAL SOURCE default_redpanda_catalog FROM "alice@example.com";
DROP USER "alice@example.com";
```

## [](#suggested-reading)Suggested reading

-   [CREATE USER](https://docs.redpanda.com/cloud-data-platform/reference/sql/sql-statements/create-user/)

-   [ALTER USER](https://docs.redpanda.com/cloud-data-platform/reference/sql/sql-statements/alter-user/)

-   [REVOKE](https://docs.redpanda.com/cloud-data-platform/reference/sql/sql-statements/revoke/)

-   [Manage access to Redpanda SQL](https://docs.redpanda.com/cloud-data-platform/sql/manage/manage-access/)