

 从补丁 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/)。

# SVV\_RLS\_APPLIED\_POLICY
<a name="r_SVV_RLS_APPLIED_POLICY"></a>

使用 SVV\_RLS\_APPLIED\_POLICY 跟踪 RLS 策略在引用受 RLS 保护的关系的查询上的应用情况。

SVV\_RLS\_APPLIED\_POLICY 对以下用户可见：
+ 超级用户
+ 拥有 `sys:operator` 角色的用户
+ 拥有 ACCESS SYSTEM TABLE 权限的用户

请注意，sys:secadmin 未被授予此系统权限。

## 表列
<a name="r_SVV_RLS_APPLIED_POLICY-table-columns"></a>


| 列名称  | 数据类型  | 说明 | 
| --- | --- | --- | 
| username | 文本 | 运行查询的用户的名称。 | 
| query | 整数 | 查询的 ID。 | 
| xid | 长整数 | 事务的上下文。 | 
| pid | 整数 | 运行查询的领导进程。 | 
| recordtime | 时间 | 记录查询时的时间。 | 
| 命令 | char(1) | 应用了 RLS 策略的命令。可能的值包括 k（用于 unknown）、s（用于 select）、u（用于 update）、i（用于 insert）、y（用于 utility），以及 d（用于 delete）。 | 
| datname | 文本 | 行级别安全性策略附加到的关系的数据库的名称。 | 
| relschema | 文本 | 行级别安全性策略附加到的关系的架构的名称。 | 
| relname | 文本 | 行级别安全性策略附加到的关系的名称。 | 
| polname | 文本 | 附加到关系的行级别安全性策略的名称。 | 
| poldefault | char(1) | 附加到关系的行级别安全性策略的默认设置。可能的值包括用于 false 的 f（如果已应用默认的 false 策略）；以及用于 true 的 t（如果已应用默认的 true 策略）。 | 

## 示例查询
<a name="r_SVV_RLS_APPLIED_POLICY-sample-query"></a>

以下示例显示了 SVV\_RLS\_APPLIED\_POLICY 的结果。要查询 SVV\_RLS\_APPLIED\_POLICY，您必须拥有 ACCESS SYSTEM TABLE 权限。

```
-- Check what RLS policies were applied to the run query.
SELECT username, command, datname, relschema, relname, polname, poldefault
FROM svv_rls_applied_policy
WHERE datname = CURRENT_DATABASE() AND query = PG_LAST_QUERY_ID();

 username | command |  datname  | relschema |          relname         |      polname    | poldefault 
----------+---------+-----------+-----------+--------------------------+-----------------+------------
   molly  |    s    | tickit_db |   public  | tickit_category_redshift | policy_concerts |
```