更改现有配置文件。

语法

ALTER PROFILE profile_name RENAME TO new_name;

ALTER PROFILE profile_name
      LIMIT {parameter value}[...];

说明

使用 ALTER PROFILE 命令修改用户定义的配置文件;PolarDB PostgreSQL版(兼容Oracle)支持两种形式的命令:

  • 使用 ALTER PROFILE…RENAME TO 可更改配置文件的名称。
  • 使用 ALTER PROFILE…LIMIT 可修改与配置文件关联的限制。

包含 LIMIT 子句和一个或多个空格分隔的 parameter/value 对可指定PolarDB PostgreSQL版(兼容Oracle)强制实施的规则,使用 ALTER PROFILE…RENAME TO 可更改配置文件的名称。

参数

参数说明
profile_name配置文件的名称。
new_namenew_name 指定配置文件的新名称。
parameterparameter 指定配置文件限制的属性。
valuevalue 指定参数限制。

对于每个 parameterPolarDB PostgreSQL版(兼容Oracle)支持以下显示的 value:

  • FAILED_LOGIN_ATTEMPTS 指定在服务器将用户帐户锁定 PASSWORD_LOCK_TIME 所指定的时间长度之前,用户可能进行的登录尝试失败次数。支持的值为:
    • 大于 0 的 INTEGER 值。
    • DEFAULT:DEFAULT 配置文件中指定的 FAILED_LOGIN_ATTEMPTS 的值。
    • UNLIMITED:正在连接的用户可以进行无限次数的失败登录尝试。
  • PASSWORD_LOCK_TIME 指定在服务器解锁因 FAILED_LOGIN_ATTEMPTS 而被锁定的帐户之前必须经过的时间长度。支持的值为:
    • 大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_LOCK_TIME 的值。
    • UNLIMITED:帐户被锁定,直到由数据库超级用户手动解锁。
  • PASSWORD_LIFE_TIME 指定在提示用户提供新密码之前,可以使用当前密码的天数。在使用 PASSWORD_LIFE_TIME 子句时包含 PASSWORD_GRACE_TIME 子句可指定在角色的连接被拒绝之前,密码过期后将经过的天数。如果未指定 PASSWORD_GRACE_TIME,则密码将在 PASSWORD_GRACE_TIME 的默认值指定的那天过期,并且在提供新密码之前,不允许用户执行任何命令。支持的值为:
    • 大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_LIFE_TIME 的值。
    • UNLIMITED:密码没有过期日期。
  • PASSWORD_GRACE_TIME 指定密码过期后的宽限期的长度,直到用户被迫更改密码为止。在宽限期过期后,将允许用户进行连接,但在用户更新其过期密码之前,不允许用户执行任何命令。支持的值为:
    • 大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_GRACE_TIME 的值。
    • UNLIMITED:宽限期是无限的。
  • PASSWORD_REUSE_TIME 指定用户在重新使用密码前必须等待的天数。PASSWORD_REUSE_TIMEPASSWORD_REUSE_MAX 参数旨在一起使用。如果为其中一个参数指定有限值,而另一个参数为 UNLIMITED,则无法重新使用旧密码。如果这两个参数都设置为 UNLIMITED,则密码重新使用没有限制。支持的值为:
    • 大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_REUSE_TIME 的值。
    • UNLIMITED:可以不受限制地重新使用密码。
  • PASSWORD_REUSE_MAX 指定在密码可重新使用前必须发生的密码更改次数。PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 参数旨在一起使用。如果为其中一个参数指定有限值,而另一个参数为 UNLIMITED,则无法重新使用旧密码。如果这两个参数都设置为 UNLIMITED,则密码重新使用没有限制。支持的值为:
    • 大于等于 0 的 INTEGER 值。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_REUSE_MAX 的值。
    • UNLIMITED:可以不受限制地重新使用密码。
  • PASSWORD_VERIFY_FUNCTION 指定密码复杂性。支持的值为:
    • PL/SQL 函数的名称。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_VERIFY_FUNCTION 的值。
    • NULL
  • PASSWORD_ALLOW_HASHED 指定是否允许使用加密的密码。如果将值指定为 TRUE,系统将允许用户通过在客户端指定哈希计算加密密码来更改密码。不过,如果您将值指定为 FALSE,则必须以纯文本形式指定密码,以便有效地进行验证,否则,在服务器收到加密的密码时将引发错误。支持的值为:
    • BOOLEAN 值 TRUE/ON/YES/1 或 FALSE/OFF/NO/0。
    • DEFAULT:DEFAULT 配置文件中指定的 PASSWORD_ALLOW_HASHED 的值。
说明 PASSWORD_ALLOW_HASHED 参数与 Oracle 不兼容。

示例

以下示例将修改名为 acctg_profile 的配置文件:

ALTER PROFILE acctg_profile
       LIMIT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1;

acctg_profile 将在登录角色尝试连接到服务器时计算失败的连接尝试次数。该配置文件指定,如果用户在三次尝试中都没有使用正确的密码进行身份验证,则该帐户将被锁定一天。

以下示例将名称 acctg_profile 更改为 payables_profile:

ALTER PROFILE acctg_profile RENAME TO payables_profile;