SET PASSWORD

功能描述

修改用户密码。

注意事项

  • 不指定用户则修改当前连接用户密码。
  • 初始用户可以修改任何用户的密码(包括自身密码),不需要指定REPLACE校验当前密码。
  • 非初始用户不能修改初始用户的密码。
  • sysadmin和拥有createrole权限的用户可以修改其他(非初始化、非sysadmin,非createrole权限)用户密码,不需要指定REPLACE校验当前密码。
  • sysadmin和拥有createrole权限的用户修改自身密码时,需要指定REPLACE校验当前密码。

语法格式

  1. SET PASSWORD [FOR user] = password_option [REPLACE 'current_auth_string']
  2. password_option: {
  3. 'auth_string'
  4. | PASSWORD('auth_string')
  5. }

参数说明

  • [FOR user]

    user支持以下形式:

    1. user(不区分大小写)。
    2. ‘user’(区分大小写)。
    3. “user”(区分大小写)。
    4. ‘user’@’host’(区分大小写)。
    5. current_user()/current_user。
  • auth_string

    需要设置的密码。

  • current_auth_string

    当前密码。

示例

  1. --修改指定用户密码
  2. openGauss=# create user user1 with password 'abcd@123';
  3. CREATE ROLE
  4. openGauss=# set password for user1 = 'abcd@124';
  5. ALTER ROLE
  6. --修改当前用户密码
  7. openGauss=# set password = 'abcd@123';
  8. ALTER ROLE
  9. openGauss=# set password for current_user = 'abcd@123';
  10. ALTER ROLE
  11. openGauss=# set password for current_user() = 'abcd@123';
  12. ALTER ROLE