Provided by: manpages-zh_1.5-1_all bug

NAME

       CREATE SCHEMA - 定義一虓s的模式

SYNOPSIS

       CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ]
       CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]

DESCRIPTIONyz
       CREATE             SCHEMA             將在當前數據庫裏輸入一虓s的模式。
       該模式名將在當前數據庫裏現存的所有模式名中唯一。

        模式實際上是一茼W字空間:
       它包含命名對象(表,數據類型,函數和操作符)這些名字可以和其它模式裏存在的其它對象-
       咻W。     命名對象n麼是通過用模式名作為前綴"袡"這些它怐漲W字進行訪問,
       n麼是通過設置一虓j索路徑包含所需n的模式。                           無-
       袡◥犒龠H都是在當前模式中創建的(在搜索路徑最前悸滿F可以用函數
       current_schema 來判斷)。

        另外,CREATE        SCHEMA        可以包括在新模式中創建對象的子命令。
       這些子命令和那些在創建完模式後發出的命令沒有任何區別,只不過是如果使用了
       AUTHORIZATION 子句, 那麼所有創建的對象都將被該使用者擁有。

PARAMETERS數
       schemaname
               n創建的模式名字。如果省略,則使用使用者名作為模式名。

       username
               將擁有該模式的使用者名。如果省略,預設為執行該命令的使用者名。
              只有超級使用者才能創建不屬於自己的模式。

       schema_element
               一 SQL  語句,定義一胻在模式裏創建的對象。  目前,只有  CREATE
              TABLE,CREATE   VIEW,   和   GRANT   是在   CREATE  SCHEMA  裏-
              悼i以接受的子句。
              其它類型的對象可以在創建完模式之後的獨立的命令裏創建。

NOTES`N
        n創建模式,調用該命令的使用者必需在當前數據庫上有      CREATE      權-
       。(當然,超級使用者繞開這蚗邠d。)

EXAMPLESl
        創建一蚍狾﹛G

       CREATE SCHEMA myschema;

        為使用者 joe 創建模式 --- 模式也會叫 joe:

       CREATE SCHEMA AUTHORIZATION joe;

        創建一蚍狾”疇B在裏掖衎堣@茠瞴G

       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;

        請注意上悸瑪W立的子命令不是由分號結尾的。

        下悸漫R令是實現同樣結果的等效語句:

       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;

COMPATIBILITYe性
        SQL  標準允許在  CREATE  SCHEMA   裏惘酗@   DEFAULT   CHARACTER   SET
       子句,以及比目前 PostgreSQL 可以接受的更多的子命令。

        SQL   標準聲明在  CREATE  SCHEMA  裏的子命令可以以任意順序出現。  目前
       PostgreSQL       裏的實現還不能處理所有子命令裏需n提前引用的情況;有時-
       唹i能需n垮@下子命令的順序以避免前向引用。

        在    SQL    標準裏,模式的所有者總是擁有其中的所有對象。   PostgreSQL
       允許模式包含非模式所有者所有的對象。      只有在模式所有者       CREATE
       了自己的模式的權給了其它人才可能出現。

SEE ALSO見
       ALTER SCHEMA [alter_schema(7)], DROP SCHEMA [drop_schema(l)]

者
       Postgresql  <laser@pgsqldb.org>