CREATEUSER(1) PostgreSQL Client Applications CREATEUSER(1)

createuser - 定義一個新的 PostgreSQL 使用者帳戶

createuser [ option... ] [ username ]

createuser 建立一個新的 PostgreSQL 使用者。只有超級使用者(在 pg_shadow 表中設定了 usesuper 的使用者)可以建立新的 PostgreSQL 使用者。 因此, createuser 必須由某位可以以 PostgreSQL 超級使用者連線的使用者執行。


作為超級使用者同時也意味著繞開資料庫內訪問檢查的能力, 因此我們應該少賦予超級使用者許可權。

createuser 是 SQL 命令 CREATE USER [create_user(7)] 的封裝。 因此,用那種方法建立新使用者都沒什麼特別的。

createuser 接受下列命令列引數:

宣告要建立的 PostgreSQL 使用者名稱稱。 該名稱必須在所有 PostgreSQL 使用者中唯一。
允許該新建使用者建立其他使用者。(注意: 實際上這樣做相當於把這個新使用者變成了 superuser,只不過這個選項命名得比較爛。)

不允許該新建使用者建立其他使用者。 (也就是說,該使用者是一個普通使用者,不是超級使用者)。

允許該新建使用者建立資料庫。

禁止該新建使用者建立資料庫。

回顯 createuser 生成的命令併發送給伺服器。

對儲存在資料庫裡的使用者口令加密。如果沒有宣告, 則使用預設值。

允許你給新使用者使用非預設使用者標識。這個也不是必須的,但是有些人喜歡這樣。

不對儲存在資料庫裡的使用者口令加密。如果沒有宣告, 則使用預設值,

如果給出,createuser 將發出一個提示符要求輸入新使用者的口令。 如果你不打算用口令認證,那麼這是不必要的。

不顯示響應。


如果沒有在命令列上宣告名稱和其他的一些缺少的資訊,指令碼會提示你輸入。

createuser 還接受下列命令列引數用作連線引數:


宣告執行伺服器的機器的主機名。 如果數值以斜扛開頭,則它被用做到 Unix 域套接字的路徑。

宣告伺服器 正在偵聽的網際網路 TCP 埠號或本地Unix域套接字的檔案擴充套件(描述符)。

連線的使用者名稱(不是要建立的使用者名稱)。

強制口令提示(與伺服器連線的口令,不是新使用者的口令。)


預設連線引數。


如果出現錯誤,將會顯示後端錯誤資訊。參閱 CREATE USER [create_user(7)] 和 psql(1) 獲取可能資訊描述。資料庫伺服器必須在目標主機上執行。 同樣,任何 libpq 前端庫使用的預設連線設定和環境變數都將適用。


在預設資料庫伺服器上建立一個使用者 joe:

$ createuser joe
Is the new user allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER


用在主機eden上的伺服器建立使用者 joe,埠是 5000,避擴音示並且顯示執行的命令:

$ createuser -p 5000 -h eden -D -A -e joe
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER

dropuser(1), CREATE USER [create_user(7)]

譯者

Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

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

2003-11-02 Application