

 从补丁 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 ROLE
<a name="r_ALTER_ROLE"></a>

重命名角色或者更改拥有者。有关 Amazon Redshift 系统定义的角色列表，请参阅[Amazon Redshift 系统定义的角色](r_roles-default.md)。

## 所需的权限
<a name="r_ALTER_ROLE-privileges"></a>

以下是 ALTER ROLE 所需的权限：
+ Superuser
+ 具有 ALTER ROLE 权限的用户

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

```
ALTER ROLE role [ WITH ]
  { { RENAME TO role } | { OWNER TO user_name } }[, ...]
  [ EXTERNALID TO external_id ]
```

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

 *role*   
要更改的角色的名称。

RENAME TO  
角色的新名称。

OWNER TO *user\$1name*  
角色的新拥有者。

EXTERNALID TO *external\$1id*  
角色的新外部 ID，与身份提供者关联。有关更多信息，请参阅 [Amazon Redshift 的原生身份提供者 (IdP) 联合身份验证](https://docs.amazonaws.cn/redshift/latest/mgmt/redshift-iam-access-control-native-idp.html)。

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

以下示例将角色的名称从 `sample_role1` 更改为 `sample_role2`。

```
ALTER ROLE sample_role1 RENAME TO sample_role2;
```

以下示例将更改角色的拥有者。

```
ALTER ROLE sample_role1 WITH OWNER TO user1
```

ALTER ROLE 的语法与以下 ALTER PROCEDURE 类似。

```
ALTER PROCEDURE first_quarter_revenue(bigint, numeric) RENAME TO quarterly_revenue;
```

以下示例将过程的拥有者更改为 `etl_user`。

```
ALTER PROCEDURE quarterly_revenue(bigint, numeric) OWNER TO etl_user;
```

以下示例使用与身份提供者关联的新外部 ID 更新了角色 `sample_role1`。

```
ALTER ROLE sample_role1 EXTERNALID TO "XYZ456";
```