---
name: "DROP_POLICY"
section: "7"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/DROP_POLICY"
---

# DROP\_POLICY(7)

remove a row-level security policy from a table

## NAME

DROP\_POLICY - remove a row-level security policy from a table

## SYNOPSIS

```
DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
```

## DESCRIPTION

**DROP POLICY** removes the specified policy from the table. Note that if the last policy is removed for a table and the table still has row-level security enabled via **ALTER TABLE**, then the default-deny policy will be used. ALTER TABLE ... DISABLE ROW LEVEL SECURITY can be used to disable row-level security for a table, whether policies for the table exist or not.

## PARAMETERS

IF EXISTS

Do not throw an error if the policy does not exist. A notice is issued in this case.

*name*

The name of the policy to drop.

*table\_name*

The name (optionally schema-qualified) of the table that the policy is on.

CASCADE\
 RESTRICT

These key words do not have any effect, since there are no dependencies on policies.

## EXAMPLES

To drop the policy called p1 on the table named my\_table:

```
DROP POLICY p1 ON my_table;
```

## COMPATIBILITY

**DROP POLICY** is a PostgreSQL extension.

## SEE ALSO

CREATE POLICY ([**CREATE\_POLICY**(7)](/CREATE_POLICY/7.md)), ALTER POLICY ([**ALTER\_POLICY**(7)](/ALTER_POLICY/7.md))
