> ## Documentation Index
> Fetch the complete documentation index at: https://docs.risingwave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# REVOKE

> Use the `REVOKE` command to revoke privileges from a user.

## Syntax

Revoke database privileges from a user.

```sql theme={null}
REVOKE {{CONNECT | CREATE}[, ...]| ALL [PRIVILEGES]}
ON DATABASE database_name [, ...]
FROM user_name [GRANTED BY user_name];
```

Revoke schema privileges from a user.

```sql theme={null}
REVOKE {CREATE | ALL [PRIVILEGES]}
ON SCHEMA schema_name [, ...]
FROM user_name [GRANTED BY user_name];
```

Revoke table privileges from a user.

```sql theme={null}
REVOKE {{SELECT | UPDATE | INSERT | DELETE} [, ...]| ALL [PRIVILEGES]}
ON {  TABLE table_name [, ...]
    | ALL TABLES IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

Revoke view privileges from a user.

```sql theme={null}
REVOKE {SELECT | INSERT | DELETE | UPDATE | ALL [PRIVILEGES]}
ON {VIEW view_name [, ...]
    | ALL VIEWS IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

Revoke source privileges from a user.

```sql theme={null}
REVOKE {SELECT | ALL [PRIVILEGES]}
ON {  SOURCE source_name [, ...]
    | ALL SOURCES IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

Revoke materialized view privileges from a user.

```sql theme={null}
REVOKE {SELECT | ALL [PRIVILEGES]}
ON {MATERIALIZED VIEW mv_name [, ...]
    | ALL MATERIALIZED VIEWS IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

Revoke connection privileges from a user.

```sql theme={null}
REVOKE {USAGE | ALL [PRIVILEGES]}
ON { CONNECTION conn_name [, ...]
    | ALL CONNECTIONS IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

Revoke secret privileges from a user.

```sql theme={null}
REVOKE {USAGE | ALL [PRIVILEGES]}
ON { SECRET secret_name [, ...]
    | ALL SECRETS IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

Revoke function privileges from a user.

```sql theme={null}
REVOKE {EXECUTE | ALL [PRIVILEGES]}
ON { FUNCTION function_name [, ...]
    | ALL FUNCTIONS IN SCHEMA schema_name [, ...] }
FROM user_name [GRANTED BY user_name];
```

## Parameters

| Parameter or clause   | Description                                                                                                    |
| :-------------------- | :------------------------------------------------------------------------------------------------------------- |
| **GRANTED BY** clause | The specified user after the GRANTED BY clause must be the current user. By default, the current user is root. |

## Revoke privileges on future objects

To revoke privileges that would automatically apply to future objects created by a user, use the [`ALTER DEFAULT PRIVILEGES`](/sql/commands/sql-alter-default-privileges) command. This removes the need to revoke permissions manually for each new object.

## Example

Revoke all privileges for all sources in `schema1` from user `user1`.

```sql theme={null}
REVOKE ALL PRIVILEGES
ON ALL SOURCES IN SCHEMA schema1
FROM user1 GRANTED BY user;
```

Revoke the SELECT privilege for materialized view `schema1.mv1` from user `user1`.

```sql theme={null}
REVOKE SELECT
ON MATERIALIZED VIEW schema1.mv1
FROM user1;
```

Revoke the SELECT privilege for source `s1` from user `user1`.

```sql theme={null}
REVOKE SELECT
ON SOURCE s1
FROM user1;
```
