.\" auto-generated by docbook2man-spec $Revision: 1.1 $ .TH "ALTER USER" "7" "2003-11-02" "SQL - Language Statements" "SQL Commands" .SH NAME ALTER USER \- 改變數據庫使用者帳號 .SH SYNOPSIS .sp .nf ALTER USER \fIname\fR [ [ WITH ] \fIoption\fR [ ... ] ] where \fIoption\fR can be: [ ENCRYPTED | UNENCRYPTED ] PASSWORD '\fIpassword\fR' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | VALID UNTIL '\fIabstime\fR' ALTER USER \fIname\fR RENAME TO \fInewname\fR ALTER USER \fIname\fR SET \fIparameter\fR { TO | = } { \fIvalue\fR | DEFAULT } ALTER USER \fIname\fR RESET \fIparameter\fR .sp .fi .SH "DESCRIPTION 描述" .PP \fBALTER USER\fR 用於更改使用者的 PostgreSQL 帳號的屬性。 沒有在該命令中出現的屬性保持原值。 .PP 這條命令模式中的第一個變種修改某些全局使用者權限和認証設置。 (見下文獲取細節。)只有數據庫超級使用者可以用這條命令改變這些權限和使口令失效。普通使用者只能修改它們自己的口令。 .PP 第二個變種改變使用者的名字。只有數據庫超級使用者才能重新命名使用者帳戶。 當前會話使用者不能重命名。(如果想這麼幹,先用另外一個使用者賬號連接。) .PP 第三和第四個變種修改使用者會話的特定配置變量的預設值。 當該使用者隨後啟動一個新的會話時,聲明的數值將成為會話的預設,覆蓋 任何出現在 postgresql.conf 裏,或者從 postmaster 命令行接收到的設置。 普通使用者可以修改它們自己的會話預設。超級使用者可以修改任何使用者的預設。 .SH "PARAMETERS 參數" .TP \fB\fIname\fB\fR 想進行屬性更改的使用者名字。 .TP \fB\fIpassword\fB\fR 此帳號所使用的新口令。 .TP \fBENCRYPTED\fR .TP \fBUNENCRYPTED\fR 這些關鍵字控制口令是否以加密形式存在 pg_shadow 裏。 (參閱 CREATE USER [\fBcreate_user\fR(7)] 獲取這個選項的更多信息。) .TP \fBCREATEDB\fR .TP \fBNOCREATEDB\fR 這個子句定義該使用者創建數據庫的能力。 如果聲明了CREATEDB,該使用者可以創建她自己的數據庫。 用NOCREATEDB將剝奪一個使用者創建數據庫的能力。 .TP \fBCREATEUSER\fR .TP \fBNOCREATEUSER\fR 這個子句決定一個使用者能否創建新使用者。 這個選項同樣還令該使用者成為超級使用者,可以超越所有訪問限制。 .TP \fB\fIabstime\fB\fR 該使用者帳號口令的過期的日期(和可選的時間)。 要設置一個口令從不過期,可以用'infinity'。 .TP \fB\fInewname\fB\fR 使用者的新名字。 .TP \fB\fIparameter\fB\fR .TP \fB\fIvalue\fB\fR 把該使用者特定的配置變量的會話預設設置為給定的數值。 如果 value 為 DEFAULT 或者使用了等效的 RESET,那麼刪除使用者相關的變量, 並且該使用者將在新會話中繼承預設設置。使用 RESET ALL 清除所有設置。 參閱 SET [\fBset\fR(7)] 和 Section 16.4 ``Run-time Configuration'' 獲取有關可用變量和數值的更多信息。 .SH "NOTES 注意" .PP 使用 CREATE USER [\fBcreate_user\fR(7)] 創建新使用者和 DROP USER [\fBdrop_user\fR(7)] 刪除使用者。 .PP \fBALTER USER\fR 無法改變一個使用者的組的成員性。 用 ALTER GROUP [\fBalter_group\fR(7)] 實現這個目地。 .PP 使用 ALTER DATABASE [\fBalter_database\fR(7)],我們還可能把一個會話預設和某個數據庫綁定起來,而不是和某個使用者綁定。 .SH "EXAMPLES 例子" .PP 更改一使用者口令: .sp .nf ALTER USER davide WITH PASSWORD 'hu8jmn3'; .sp .fi .PP 更改一使用者有效期: .sp .nf ALTER USER manuel VALID UNTIL 'Jan 31 2030'; .sp .fi .PP 更改一使用者有效期, 聲明其權限應該在用比UTC早一小時的時區記時的 2005 年 5 月 4 日正午失效 .sp .nf ALTER USER chris VALID UNTIL 'May 4 12:00:00 2005 +1'; .sp .fi .PP 令使用者永遠有效: .sp .nf ALTER USER fred VALID UNTIL 'infinity'; .sp .fi .PP 賦予一使用者創建新使用者和新數據庫的權限: .sp .nf ALTER USER miriam CREATEUSER CREATEDB; .sp .fi .SH "COMPATIBILITY 相容性" .PP \fBALTER USER\fR 語句是 PostgreSQL 擴展。SQL 標準將使用者的定義交給實現完成。 .SH "SEE ALSO 參見" CREATE USER [\fBcreate_user\fR(7)], DROP USER [\fBdrop_user\fR(l)], SET [\fBset\fR(l)] .SH "譯者" .B Postgresql 中文網站 .B 何偉平