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>

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh