更改与数据库角色关联的密码。

语法

ALTER ROLE role_name IDENTIFIED BY password
           [REPLACE prev_password]

说明

没有 CREATEROLE 特权的角色可以使用此命令来更改自己的密码。对于无特权的角色,如果其配置文件中 PASSWORD_VERIFY_FUNCTION 不是 NULL,则必须包括 REPLACE 子句及其以前的密码。当非超级用户使用了 REPLACE 子句时,服务器会将提供的密码与现有密码进行比较,如果密码不匹配,则会引发错误。

数据库超级用户可以使用此命令来更改与任意角色关联的密码。如果超级用户包括 REPLACE 子句,则忽略该子句;以前密码的不匹配值不会引发错误。

如果要更改其密码的角色具有 SUPERUSER 属性,则必须由超级用户发布此命令。具有 CREATEROLE 属性的角色可以使用此命令来更改与非超级用户的角色关联的密码。

参数

参数 说明
role_name 要更改其密码的角色的名称。
password 角色的新密码。
prev_password 角色以前的密码。

示例

更改角色的密码:

ALTER ROLE john IDENTIFIED BY xyRP35z REPLACE 23PJ74a;