.TH "CREATEUSER" "1" "2003-11-02" "Application" "PostgreSQL Client Applications" .SH NAME createuser \- 定義一個新的 PostgreSQL 使用者帳戶 .SH SYNOPSIS .sp \fBcreateuser\fR\fR [ \fR\fB\fIoption\fB\fR...\fB \fR\fR]\fR\fR [ \fR\fB\fIusername\fB \fR\fR]\fR .SH "DESCRIPTION 描述" .PP \fBcreateuser\fR 創建一個新的 PostgreSQL 使用者。只有超級使用者(在 pg_shadow 表中設置了 usesuper 的使用者)可以創建新的 PostgreSQL 使用者。 因此, createuser 必須由某位可以以 PostgreSQL 超級使用者連接的使用者執行。 .PP 作為超級使用者同時也意味著繞開數據庫內訪問檢查的能力, 因此我們應該少賦予超級使用者權限。 .PP \fBcreateuser\fR 是 SQL 命令 CREATE USER [\fBcreate_user\fR(7)] 的封裝。 因此,用那種方法創建新使用者都沒什麼特別的。 .SH "OPTIONS 選項" .PP \fBcreateuser\fR 接受下列命令行參數: .TP \fB\fIusername\fB\fR 聲明要創建的 PostgreSQL 使用者名稱。 該名稱必須在所有 PostgreSQL 使用者中唯一。 .TP \fB-a\fR .TP \fB--adduser\fR 允許該新建使用者創建其他使用者。(注意: 實際上這樣做相當於把這個新使用者變成了 superuser,只不過這個選項命名得比較爛。) .TP \fB-A\fR .TP \fB--no-adduser\fR 不允許該新建使用者創建其他使用者。 (也就是說,該使用者是一個普通使用者,不是超級使用者)。 .TP \fB-d\fR .TP \fB--createdb\fR 允許該新建使用者創建數據庫。 .TP \fB-D\fR .TP \fB--no-createdb\fR 禁止該新建使用者創建數據庫。 .TP \fB-e\fR .TP \fB--echo\fR 回顯 createuser 生成的命令並發送給伺服器。 .TP \fB-E\fR .TP \fB--encrypted\fR 對保存在數據庫裏的使用者口令加密。如果沒有聲明, 則使用預設值。 .TP \fB-i \fInumber\fB\fR .TP \fB--sysid \fInumber\fB\fR 允許你給新使用者使用非預設使用者標識。這個也不是必須的,但是有些人喜歡這樣。 .TP \fB-N\fR .TP \fB--unencrypted\fR 不對保存在數據庫裏的使用者口令加密。如果沒有聲明, 則使用預設值, .TP \fB-P\fR .TP \fB--pwprompt\fR 如果給出,createuser 將發出一個提示符要求輸入新使用者的口令。 如果你不打算用口令認証,那麼這是不必要的。 .TP \fB-q\fR .TP \fB--quiet\fR 不顯示響應。 .PP .PP 如果沒有在命令行上聲明名稱和其他的一些缺少的信息,稿本會提示你輸入。 .PP \fBcreateuser\fR 還接受下列命令行參數用作連接參數: .TP \fB-h \fIhost\fB\fR .TP \fB--host \fIhost\fB\fR 聲明運行伺服器的機器的主機名。 如果數值以斜扛開頭,則它被用做到 Unix 域套接字的路徑。 .TP \fB-p \fIport\fB\fR .TP \fB--port \fIport\fB\fR 聲明伺服器 正在偵聽的網際網路 TCP 端口號或本地Unix域套接字的檔案擴展(描述符)。 .TP \fB-U \fIusername\fB\fR .TP \fB--username \fIusername\fB\fR 連接的使用者名(不是要創建的使用者名)。 .TP \fB-W\fR .TP \fB--password\fR 強制口令提示(與伺服器連接的口令,不是新使用者的口令。) .PP .SH "ENVIRONMENT 環境" .TP \fBPGHOST\fR .TP \fBPGPORT\fR .TP \fBPGUSER\fR 預設連接參數。 .SH "DIAGNOSTICS 診斷" .PP 如果出現錯誤,將會顯示後端錯誤訊息。參閱 CREATE USER [\fBcreate_user\fR(7)] 和 \fBpsql\fR(1) 獲取可能信息描述。數據庫伺服器必須在目標主機上運行。 同樣,任何 libpq 前端庫使用的預設連接設置和環境變量都將適用。 .SH "EXAMPLES 例子" .PP 在預設數據庫伺服器上創建一個使用者 joe: .sp .nf $ \fBcreateuser joe\fR Is the new user allowed to create databases? (y/n) \fBn\fR Shall the new user be allowed to create more new users? (y/n) \fBn\fR CREATE USER .sp .fi .PP 用在主機eden上的伺服器創建使用者 joe,端口是 5000,避免提示並且顯示執行的命令: .sp .nf $ \fBcreateuser -p 5000 -h eden -D -A -e joe\fR CREATE USER "joe" NOCREATEDB NOCREATEUSER CREATE USER .sp .fi .SH "SEE ALSO 參見" \fBdropuser\fR(1), CREATE USER [\fBcreate_user\fR(7)] .SH "譯者" .B Postgresql 中文網站 .B 何偉平