table of contents
other languages
CREATE USER(7) | SQL Commands | CREATE USER(7) |
NAME¶
CREATE USER - 創建一個新的數據庫使用者帳戶SYNOPSIS¶
CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SYSID uid | [ ENCRYPTED | UNENCRYPTED ] PASSWORD ' password' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | IN GROUP groupname [, ...] | VALID UNTIL ' abstime'
DESCRIPTION 描述¶
CREATE USER 向一個 PostgreSQL 數據庫集群增加一個新使用者。 參考 Chapter 17 ``Database Users and Privileges'' 和 Chapter 19 ``Client Authentication'' 獲取關於管理使用者和認証的信息。 要執行這條命令,你必須是一個數據庫超級使用者。PARAMETERS 參數¶
- name
-
使用者名
- uid
- SYSID
子句可以用於選擇正在被創建的使用者的
PostgreSQL 使用者標識。
通常這是不必要的,但是如果你想恢復一個孤兒對象的所有者,也許這個很有用。
如果沒有聲明這個,預設使用已分配的最高使用者標識加一(最小是 100)。
- password
-
設置使用者的口令,如果你不準備使用口令認証, 那麼你可以省略這個選項,但如果你想切換到一個口令認証的伺服器,那麼該使用者將不能聯接。 此口令可以稍後再次設置或者修改,使用 ALTER USER [ alter_user(7)]。
- ENCRYPTED
- UNENCRYPTED
- 控制口令在數據庫中是否以加密形式存儲在系統表中。
(如果兩個都沒有設置,那麼預設的特性是由配置參數
password_encryption 決定的。)
如果提供的字串已經是
MD5
加密的格式,那麼就照原樣存儲,
不管聲明的是 ENCRYPTED
還是 UNENCRYPTED。
這樣就允許在轉儲/恢復的過程中重載加密後的口令。
請注意老的客戶端可能缺少 MD5 認証機制,我們需要這個認証機制處理存儲為密文的口令。
- CREATEDB
- NOCREATEDB
- 這個子句定義使用者的創建數據庫權限。 如果聲明了CREATEDB, 被定義的使用者將允許創建其自己的數據庫。 而使用NOCREATEDB將否決該使用者的創建數據庫的能力。 如果忽略本子句,預設是NOCREATEDB。
- CREATEUSER
- NOCREATEUSER
-
該子句決定一個使用者是否能創建一個新的使用者。 這個選項同樣把此使用者變成數據庫超級使用者,可以跨越所有訪問限制。省略這個參數將置使用者的這個屬性為 NOCREATEUSER。
- groupname
-
一個組名稱,把這個使用者設為該組成員。 你可以列出多個組名字。
- abstime
- VALID UNTIL (有效期)子句設置一個絕對時間, 過了該時間後使用者的口令將不再有效。 如果省略這個子句,登陸將總是有效的。
NOTES 注意¶
使用 ALTER USER [ alter_user(7)] 修改使用者的口令和權限,DROP USER [ drop_user(7)] 刪除一個使用者。 使用 ALTER GROUP [ alter_group(l)] 從組中增加或刪除使用者。 PostgreSQL 裏有一個程式 createuser [ createuser(1)] 與CREATE USER 有相同的功能(實際上,它調用這條命令), 但是可以在命令行上運行。
EXAMPLES 例子¶
創建一個沒有口令的使用者:
CREATE USER jonathan;
創建一個有口令的使用者:
CREATE USER davide WITH PASSWORD 'jw8s0F4';
創建一個有口令的使用者,其帳號在 2004 年底失效。 注意當 2005 年走過一秒後,該帳號將不再有效:
CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';
創建一個擁有創建數據庫權限的使用者:
CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;
COMPATIBILITY 相容性¶
CREATE USER 語句是 PostgreSQL 擴展。 SQL 標準把使用者的定義交給具體實現處理。SEE ALSO 參見¶
ALTER USER [ alter_user(7)], DROP USER [drop_user(l)], createuser(1)譯者¶
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>2003-11-02 | SQL - Language Statements |