PostgreSQL7.0手冊(cè)-用戶手冊(cè)-20. 應(yīng)用 - createuser
2019-09-08 23:33:34
供稿:網(wǎng)友
createuser
名稱
createuser ― 創(chuàng)建一個(gè)新的 Postgres 用戶
語(yǔ)法
createuser [ options ] [ username ]
輸入
-h, --host host
聲明 postmaster 正在運(yùn)行的機(jī)器的主機(jī)名.
-p, --port port
聲明 postmaster 正在偵聽的互聯(lián)網(wǎng) TCP/IP 端口號(hào)或本地Unix域套接字的文件擴(kuò)展(描述符).
-e, --echo
回現(xiàn) createdb 生成的查詢并發(fā)送給后端。
-q, --quiet
不顯示響應(yīng)。
-d, --createdb
允許該新建用戶創(chuàng)建數(shù)據(jù)庫(kù)。
-D, --no-createdb
禁止該新建用戶創(chuàng)建數(shù)據(jù)庫(kù)。
-a, --adduser
允許該新建用戶創(chuàng)建其他用戶。
-A, --no-adduser
禁止該新建用戶創(chuàng)建其他用戶。
-P, --pwprompt
給出此開關(guān),createuser 將顯示一個(gè)提示符要求輸入新用戶的口令。如果你不打算使用口令認(rèn)證,這些是不必要的。
-i, --sysid uid
允許你給新用戶使用非缺省用戶標(biāo)識(shí)。這個(gè)也不是必須的,但是有些人喜歡這樣。
username
聲明要?jiǎng)?chuàng)建的 PostgreSQL 用戶名稱。該名稱必須在所有 PostgreSQL 用戶中唯一。
如果沒(méi)有在命令行上聲明名稱和其他的一些信息,腳本會(huì)提示你輸入一個(gè)。
選項(xiàng) -h,-p,和 -e,逐字傳遞給 psql。psql 選項(xiàng) -U 和 -W 也可以使用,但是這些開關(guān)的使用在這個(gè)環(huán)境中可能有些混亂。
輸出
CREATE USER
一切正常。
createuser: creation of user "username" failed
出了差錯(cuò),用戶沒(méi)有創(chuàng)建。
如果出現(xiàn)錯(cuò)誤,將會(huì)顯示后端錯(cuò)誤信息。參閱 CREATE USER 和 psql 獲取可能信息描述。
描述
createuser 創(chuàng)建一個(gè)新的 PostgreSQL 用戶。只有在 pg_shadow 表里面擁有 usesuper 集的用戶可以創(chuàng)建新的 Postgres 用戶。
createuser 是一個(gè) shell 腳本,通過(guò) PostgreSQL 交互終端 psql 封裝了SQL 命令 CREATE USER 。因此,用那種方法創(chuàng)建新用戶都沒(méi)什么特別的。這意味著psql 必須能被腳本找到并且有一個(gè)數(shù)據(jù)庫(kù)服務(wù)器在目標(biāo)主機(jī)上運(yùn)行。同樣,任何psql 和 libpq 前端庫(kù)可獲得的缺省設(shè)置和環(huán)境變量都將生效。
用法
在缺省數(shù)據(jù)庫(kù)服務(wù)器上創(chuàng)建一個(gè)用戶 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
用在主機(jī) eden 上的 postmaster 創(chuàng)建用戶 joe,端口是 5000,避免提示并且顯示執(zhí)行的查詢:
$ createuser -p 5000 -h eden -D -A -e joe
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER