

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

# USER\$1IS\$1MEMBER\$1OF
<a name="r_USER_IS_MEMBER_OF"></a>

**重要**  
从 2026 年 2 月 16 日起，Amazon Redshift 将不再支持使用 `user_is_member_of` 以及通过数据共享访问使用者用户、角色或组信息的相关函数。

如果用户是某个角色或组的成员，则返回 true。超级用户可以检查所有用户的成员身份。属于 sy:secadmin 或 sys:superuser 角色成员的普通用户可以检查所有用户的成员身份。否则，普通用户只能检查自己的成员身份。如果提供的身份不存在或当前用户无权访问该角色，则 Amazon Redshift 会发出错误消息。

**数据共享注意事项**

当使用者集群查询引用此函数的共享对象（例如视图、RLS 策略或 DDM 策略）时，该函数将利用使用者集群的安全上下文进行评估。结果由使用者的本地用户、角色和组成员资格决定，而不是由在生产者集群上定义的用户、角色和组成员资格决定。如果您打算强制执行在生产者上实施的相同权限上下文，请确保使用者集群上存在相应的角色名、组名和用户成员资格，并且与生产者上的角色名、组名和用户成员资格相匹配。

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

```
user_is_member_of( user_name,  role_name | group_name)
```

## 参数
<a name="r_USER_IS_MEMBER_OF-arguments"></a>

 *user\$1name*   
用户的名称。

 *role\$1name*   
角色的名称。

 *group\$1name*   
组的名称。

## 返回类型
<a name="r_USER_IS_MEMBER_OF-return-type"></a>

返回一个布尔值。

## 示例
<a name="r_USER_IS_MEMBER_OF-example"></a>

以下查询确认该用户不是 role1 的成员。

```
SELECT user_is_member_of('reguser', 'role1');

 user_is_member_of
-------------------
           False
```