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