

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# ALTER RLS POLICY
<a name="r_ALTER_RLS_POLICY"></a>

更改表上现有的行级别安全性策略。

超级用户和具有 `sys:secadmin` 角色的用户或角色可以更改策略。

## 语法
<a name="r_ALTER_RLS_POLICY-synopsis"></a>

```
ALTER RLS POLICY
{ policy_name | database_name.policy_name }
USING ( using_predicate_exp );
```

## 参数
<a name="r_ALTER_RLS_POLICY-parameters"></a>

 *policy\$1name*   
策略的名称。

database\$1name  
从其中创建策略的数据库的名称。该数据库可以是连接的数据库，也可以是支持 Amazon Redshift 联合身份验证权限的数据库。

USING (* using\$1predicate\$1exp *)  
指定应用于查询的 WHERE 子句的筛选器。Amazon Redshift 会在查询级别的用户谓词之前应用策略谓词。例如，**current\$1user = ‘joe’ and price > 10** 限制 Joe 只能查看价格高于 10 美元的记录。  
该表达式可以访问在 CREATE RLS POLICY 语句的 WITH 子句中声明的变量，该语句用于创建名为 policy\$1name 的策略。

有关在 Amazon Redshift 联合身份验证权限目录上使用 ALTER RLS POLICY 的信息，请参阅[使用 Amazon Redshift 联合身份验证权限管理访问控制](https://docs.amazonaws.cn/redshift/latest/dg/federated-permissions-managing-access.html)。

## 示例
<a name="r_ALTER_RLS_POLICY-examples"></a>

以下示例介绍了更改 RLS 策略。

```
-- First create an RLS policy that limits access to rows where catgroup is 'concerts'.
CREATE RLS POLICY policy_concerts
WITH (catgroup VARCHAR(10))
USING (catgroup = 'concerts');

-- Then, alter the RLS policy to only show rows where catgroup is 'piano concerts'.
ALTER RLS POLICY policy_concerts
USING (catgroup = 'piano concerts');
```