更改現有配置文件。

語法

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;