.\" auto-generated by docbook2man-spec $Revision: 1.1 $ .TH "CREATE SCHEMA" "7" "2003-11-02" "SQL - Language Statements" "SQL Commands" .SH NAME CREATE SCHEMA \- 定義一個新的模式 .SH SYNOPSIS .sp .nf CREATE SCHEMA \fIschemaname\fR [ AUTHORIZATION \fIusername\fR ] [ \fIschema_element\fR [ ... ] ] CREATE SCHEMA AUTHORIZATION \fIusername\fR [ \fIschema_element\fR [ ... ] ] .sp .fi .SH "DESCRIPTION 描述" .PP \fBCREATE SCHEMA\fR 將在當前數據庫裏輸入一個新的模式。 該模式名將在當前數據庫裏現存的所有模式名中唯一。 .PP 模式實際上是一個名字空間: 它包含命名對象(表,數據類型,函數和操作符)這些名字可以和其它模式裏存在的其它對象重名。 命名對象要麼是通過用模式名作爲前綴"修飾"這些它們的名字進行訪問, 要麼是通過設置一個搜索路徑包含所需要的模式。 無修飾的對象都是在當前模式中創建的(在搜索路徑最前面的;可以用函數 current_schema 來判斷)。 .PP 另外,CREATE SCHEMA 可以包括在新模式中創建對象的子命令。 這些子命令和那些在創建完模式後發出的命令沒有任何區別,只不過是如果使用了 AUTHORIZATION 子句, 那麼所有創建的對象都將被該用戶擁有。 .SH "PARAMETERS 參數" .TP \fB\fIschemaname\fB\fR 要創建的模式名字。如果省略,則使用用戶名作爲模式名。 .TP \fB\fIusername\fB\fR 將擁有該模式的用戶名。如果省略,缺省爲執行該命令的用戶名。 只有超級用戶才能創建不屬於自己的模式。 .TP \fB\fIschema_element\fB\fR 一個 SQL 語句,定義一個要在模式裏創建的對象。 目前,只有 CREATE TABLE,CREATE VIEW, 和 GRANT 是在 CREATE SCHEMA 裏面可以接受的子句。 其它類型的對象可以在創建完模式之後的獨立的命令裏創建。 .SH "NOTES 注意" .PP 要創建模式,調用該命令的用戶必需在當前數據庫上有 CREATE 權限。(當然,超級用戶繞開這個檢查。) .SH "EXAMPLES 例子" .PP 創建一個模式: .sp .nf CREATE SCHEMA myschema; .sp .fi .PP 爲用戶 joe 創建模式 --- 模式也會叫 joe: .sp .nf CREATE SCHEMA AUTHORIZATION joe; .sp .fi .PP 創建一個模式並且在裏面創建一個表: .sp .nf CREATE SCHEMA hollywood CREATE TABLE films (title text, release date, awards text[]) CREATE VIEW winners AS SELECT title, release FROM films WHERE awards IS NOT NULL; .sp .fi 請注意上面的獨立的子命令不是由分號結尾的。 .PP 下面的命令是實現同樣結果的等效語句: .sp .nf CREATE SCHEMA hollywood; CREATE TABLE hollywood.films (title text, release date, awards text[]); CREATE VIEW hollywood.winners AS SELECT title, release FROM hollywood.films WHERE awards IS NOT NULL; .sp .fi .SH "COMPATIBILITY 兼容性" .PP SQL 標準允許在 CREATE SCHEMA 裏面有一個 DEFAULT CHARACTER SET 子句,以及比目前 PostgreSQL 可以接受的更多的子命令。 .PP SQL 標準聲明在 CREATE SCHEMA 裏的子命令可以以任意順序出現。 目前 PostgreSQL 裏的實現還不能處理所有子命令裏需要提前引用的情況;有時候可能需要重排一下子命令的順序以避免前向引用。 .PP 在 SQL 標準裏,模式的所有者總是擁有其中的所有對象。 PostgreSQL 允許模式包含非模式所有者所有的對象。 只有在模式所有者 CREATE 了自己的模式的權限給了其它人才可能出現。 .SH "SEE ALSO 參見" ALTER SCHEMA [\fBalter_schema\fR(7)], DROP SCHEMA [\fBdrop_schema\fR(l)] .SH "譯者" .B Postgresql 中文網站 .B 何偉平 .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR