NAME

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

SYNOPSIS

createuser [ option... ] [ username ]

DESCRIPTION 描述

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

作為超級使用者同時也意味著繞開資料庫內訪問檢查的能力, 因此我們應該少賦予超級使用者許可權。
createuser 是 SQL 命令 CREATE USER [create_user(7)] 的封裝。 因此,用那種方法建立新使用者都沒什麼特別的。

OPTIONS 選項

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

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

允許該新建使用者建立資料庫。
-D
--no-createdb

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

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

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

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

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

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

不顯示響應。

如果沒有在命令列上宣告名稱和其他的一些缺少的資訊,指令碼會提示你輸入。
createuser 還接受下列命令列引數用作連線引數:
-h host
--host host

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

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

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

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

ENVIRONMENT 環境

PGHOST
PGPORT
PGUSER

預設連線引數。

DIAGNOSTICS 診斷


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

EXAMPLES 例子


在預設資料庫伺服器上建立一個使用者 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
 

SEE ALSO 參見

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

譯者

Postgresql 中文網站 何偉平 <[email protected]>

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

Recommended readings

Pages related to createuser you should read also: