table of contents
ALTER USER(7) | SQL Commands | ALTER USER(7) |
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>
跋¶
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2003-11-02 | SQL - Language Statements |