# phpman > man > ALTER_POLICY(7)

ALTER [POLICY(7)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown)                    PostgreSQL 14.23 Documentation                    ALTER [POLICY(7)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown)



## 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)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown)) for details.

       _check_expression_
           The WITH CHECK expression for the policy. See CREATE POLICY (**CREATE**___**[POLICY**(7)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown)) for
           details.

## COMPATIBILITY
       **ALTER** **POLICY** is a PostgreSQL extension.

## SEE ALSO
       CREATE POLICY (**CREATE**___**[POLICY**(7)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown)), DROP POLICY (**DROP**___**[POLICY**(7)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown))



PostgreSQL 14.23                                2026                                 ALTER [POLICY(7)](https://www.chedong.com/phpMan.php/man/POLICY/7/markdown)
