Provided by: manpages-zh_1.5.2-1.1_all
NAME
ALTER USER - 改變數據庫使用者帳號
SYNOPSIS
ALTER USER name [ [ WITH ] option [ ... ] ] where option can be: [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | VALID UNTIL 'abstime' ALTER USER name RENAME TO newname ALTER USER name SET parameter { TO | = } { value | DEFAULT } ALTER USER name RESET parameter
DESCRIPTION 描述
ALTER USER 用於更改使用者的 PostgreSQL 帳號的屬性。 沒有在該命令中出現的屬性保持原值。 這條命令模式中的第一個變種修改某些全局使用者權限和認証設置。 (見下文獲取細節。)只有數據 庫超級使用者可以用這條命令改變這些權限和使口令失效。普通使用者只能修改它們自己的口令。 第二個變種改變使用者的名字。只有數據庫超級使用者才能重新命名使用者帳戶。 當前會話使用者不 能重命名。(如果想這麼幹,先用另外一個使用者賬號連接。) 第三和第四個變種修改使用者會話的特定配置變量的預設值。 當該使用者隨後啟動一個新的會話 時,聲明的數值將成為會話的預設,覆蓋 任何出現在 postgresql.conf 裏,或者從 postmaster 命 令行接收到的設置。 普通使用者可以修改它們自己的會話預設。超級使用者可以修改任何使用者的預 設。
PARAMETERS 參數
name 想進行屬性更改的使用者名字。 password 此帳號所使用的新口令。 ENCRYPTED UNENCRYPTED 這些關鍵字控制口令是否以加密形式存在 pg_shadow 裏。 (參閱 CREATE USER [create_user(7)] 獲取這個選項的更多信息。) CREATEDB NOCREATEDB 這個子句定義該使用者創建數據庫的能力。 如果聲明了CREATEDB,該使用者可以創建她自己 的數據庫。 用NOCREATEDB將剝奪一個使用者創建數據庫的能力。 CREATEUSER NOCREATEUSER 這個子句決定一個使用者能否創建新使用者。 這個選項同樣還令該使用者成為超級使用 者,可以超越所有訪問限制。 abstime 該使用者帳號口令的過期的日期(和可選的時間)。 要設置一個口令從不過期,可以 用'infinity'。 newname 使用者的新名字。 parameter value 把該使用者特定的配置變量的會話預設設置為給定的數值。 如果 value 為 DEFAULT 或者使 用了等效的 RESET,那麼刪除使用者相關的變量, 並且該使用者將在新會話中繼承預設設 置。使用 RESET ALL 清除所有設置。 參閱 SET [set(7)] 和 Section 16.4 ``Run-time Configuration'' 獲取有關可用變量和數 值的更多信息。
NOTES 注意
使用 CREATE USER [create_user(7)] 創建新使用者和 DROP USER [drop_user(7)] 刪除使用者。 ALTER USER 無法改變一個使用者的組的成員性。 用 ALTER GROUP [alter_group(7)] 實現這個目地。 使用 ALTER DATABASE [alter_database(7)],我們還可能把一個會話預設和某個數據庫綁定起來,而 不是和某個使用者綁定。
EXAMPLES 例子
更改一使用者口令: ALTER USER davide WITH PASSWORD 'hu8jmn3'; 更改一使用者有效期: ALTER USER manuel VALID UNTIL 'Jan 31 2030'; 更改一使用者有效期, 聲明其權限應該在用比UTC早一小時的時區記時的 2005 年 5 月 4 日正午失 效 ALTER USER chris VALID UNTIL 'May 4 12:00:00 2005 +1'; 令使用者永遠有效: ALTER USER fred VALID UNTIL 'infinity'; 賦予一使用者創建新使用者和新數據庫的權限: ALTER USER miriam CREATEUSER CREATEDB;
COMPATIBILITY 相容性
ALTER USER 語句是 PostgreSQL 擴展。SQL 標準將使用者的定義交給實現完成。
SEE ALSO 參見
CREATE USER [create_user(7)], DROP USER [drop_user(l)], SET [set(l)]
譯者
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>