---
title: "DROP POLICY"
url: "https://docs.yugabyte.com/stable/api/ysql/the-sql-language/statements/dcl_drop_policy/"
---

# DROP POLICY

Use the DROP POLICY statement to remove the specified row level security policy from the table.

## Synopsis

Use the DROP POLICY statement to remove the specified row level security policy from the table. Note that if all policies for a table are removed and the table still has ENABLE ROW LEVEL SECURITY, then a default deny all policy will be applied for the table.

## Syntax

- [![Grammar Icon](/icons/file-lines.svg)Grammar](#grammar-1)
- [![Diagram Icon](/icons/diagram.svg)Diagram](#diagram-1)

```output.ebnf
drop_policy ::= DROP POLICY [ IF EXISTS ] name ON table_name 
                [ CASCADE | RESTRICT ]
```

#### drop\_policy

DROPPOLICYIFEXISTS[name](/stable/api/ysql/syntax_resources/grammar_diagrams#name)ON[table\_name](/stable/api/ysql/syntax_resources/grammar_diagrams#table-name)CASCADERESTRICT

Where

- `name` is the name of the policy to be removed.
- `table_name` is the name of the table that the policy is on.
- CASCADE / RESTRICT don't have any effect because table policies don't have any dependent objects.

## Example

- Drop a policy.
  
  ```plpgsql
  yugabyte=# DROP POLICY p1 ON table_foo;
  ```

## See also

- [ALTER POLICY](/stable/api/ysql/the-sql-language/statements/dcl_alter_policy "ALTER POLICY")
- [CREATE POLICY](/stable/api/ysql/the-sql-language/statements/dcl_create_policy "CREATE POLICY")
- [ALTER TABLE](/stable/api/ysql/the-sql-language/statements/ddl_alter_table "ALTER TABLE")
