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

# ALTER\_POLICY(7)

change the definition of a row-level security policy

## NAME

ALTER\_POLICY - change the definition of a row-level security policy

## SYNOPSIS

```
ALTER POLICY name ON table_name RENAME TO new_name
ALTER POLICY name ON table_name
    [ TO { role_name | PUBLIC | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] ]
    [ USING ( using_expression ) ]
    [ WITH CHECK ( check_expression ) ]
```

## DESCRIPTION

**ALTER POLICY** changes the definition of an existing row-level security policy. Note that **ALTER POLICY** only allows the set of roles to which the policy applies and the USING and WITH CHECK expressions to be modified. To change other properties of a policy, such as the command to which it applies or whether it is permissive or restrictive, the policy must be dropped and recreated.

To use **ALTER POLICY**, you must own the table that the policy applies to.

In the second form of **ALTER POLICY**, the role list, *using\_expression*, and *check\_expression* are replaced independently if specified. When one of those clauses is omitted, the corresponding part of the policy is unchanged.

## PARAMETERS

*name*

The name of an existing policy to alter.

*table\_name*

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

*new\_name*

The new name for the policy.

*role\_name*

The role(s) to which the policy applies. Multiple roles can be specified at one time. To apply the policy to all roles, use PUBLIC.

*using\_expression*

The USING expression for the policy. See CREATE POLICY ([**CREATE\_POLICY**(7)](/CREATE_POLICY/7.md)) for details.

*check\_expression*

The WITH CHECK expression for the policy. See CREATE POLICY ([**CREATE\_POLICY**(7)](/CREATE_POLICY/7.md)) for details.

## COMPATIBILITY

**ALTER POLICY** is a PostgreSQL extension.

## SEE ALSO

CREATE POLICY ([**CREATE\_POLICY**(7)](/CREATE_POLICY/7.md)), DROP POLICY ([**DROP\_POLICY**(7)](/DROP_POLICY/7.md))
