SVV_RLS_APPLIED_POLICY - Amazon Redshift

SVV_RLS_APPLIED_POLICY

使用 SVV_RLS_APPLIED_POLICY 跟踪 RLS 策略在引用受 RLS 保护的关系的查询上的应用情况。

SVV_RLS_APPLIED_POLICY 对以下用户可见:

  • 超级用户

  • 拥有 sys:operator 角色的用户

  • 拥有 ACCESS SYSTEM TABLE 权限的用户

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

表列

列名称 数据类型 描述
username 文本 运行查询的用户的名称。
query 整数 查询的 ID。
xid long 事务的上下文。
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 策略)。

示例查询

以下示例显示了 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 |