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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM