Man page - create_schema(7)
Manual
CREATE SCHEMA
NAMESYNOPSIS
DESCRIPTION 描 述
PARAMETERS 引 數
NOTES 注 意
EXAMPLES 例 子
COMPATIBILITY 相 容 性
SEE ALSO 參 見
譯 者
跋
NAME
CREATE SCHEMA - 定 義 一 個 新 的 模 式
SYNOPSIS
CREATE SCHEMA
schemaname
[ AUTHORIZATION
username
] [
schema_element
[ ... ] ]
CREATE SCHEMA AUTHORIZATION
username
[
schema_element
[ ... ] ]
DESCRIPTION 描 述
CREATE SCHEMA 將 在 當 前 資 料 庫 裡 輸 入 一 個 新 的 模 式 。 該 模 式 名 將 在 當 前 資 料 庫 裡 現 存 的 所 有 模 式 名 中 唯 一 。
模 式 實 際 上 是 一 個 名 字 空 間 : 它 包 含 命 名 物 件 ( 表 , 資 料 型 別 , 函 式 和 運 算 子 ) 這 些 名 字 可 以 和 其 它 模 式 裡 存 在 的 其 它 物 件 重 名 。 命 名 物 件 要 麼 是 透 過 用 模 式 名 作 為 字 首 "修 飾 "這 些 它 們 的 名 字 進 行 訪 問 , 要 麼 是 透 過 設 定 一 個 搜 尋 路 徑 包 含 所 需 要 的 模 式 。 無 修 飾 的 物 件 都 是 在 當 前 模 式 中 建 立 的 ( 在 搜 尋 路 徑 最 前 面 的 ; 可 以 用 函 式 current_schema 來 判 斷 ) 。
另 外 , CREATE SCHEMA 可 以 包 括 在 新 模 式 中 建 立 物 件 的 子 命 令 。 這 些 子 命 令 和 那 些 在 建 立 完 模 式 後 發 出 的 命 令 沒 有 任 何 區 別 , 只 不 過 是 如 果 使 用 了 AUTHORIZATION 子 句 , 那 麼 所 有 建 立 的 物 件 都 將 被 該 使 用 者 擁 有 。
PARAMETERS 引 數
schemaname
要 建 立 的 模 式 名 字 。 如 果 省 略 , 則 使 用 使 用 者 名 稱 作 為 模 式 名 。
username
將 擁 有 該 模 式 的 使 用 者 名 稱 。 如 果 省 略 , 預 設 為 執 行 該 命 令 的 使 用 者 名 稱 。 只 有 超 級 使 用 者 才 能 建 立 不 屬 於 自 己 的 模 式 。
schema_element
一 個 SQL 語 句 , 定 義 一 個 要 在 模 式 裡 建 立 的 物 件 。 目 前 , 只 有 CREATE TABLE, CREATE VIEW, 和 GRANT 是 在 CREATE SCHEMA 裡 面 可 以 接 受 的 子 句 。 其 它 型 別 的 物 件 可 以 在 建 立 完 模 式 之 後 的 獨 立 的 命 令 裡 建 立 。
NOTES 注 意
要 建 立 模 式 , 呼 叫 該 命 令 的 使 用 者 必 需 在 當 前 資 料 庫 上 有 CREATE 許 可 權 。 ( 當 然 , 超 級 使 用 者 繞 開 這 個 檢 查 。 )
EXAMPLES 例 子
建 立 一 個 模 式 :
CREATE SCHEMA myschema;
為 使 用 者 joe 建 立 模 式 --- 模 式 也 會 叫 joe:
CREATE SCHEMA AUTHORIZATION joe;
建 立 一 個 模 式 並 且 在 裡 面 建 立 一 個 表 :
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;
請 注 意 上 面 的 獨 立 的 子 命 令 不 是 由 分 號 結 尾 的 。
下 面 的 命 令 是 實 現 同 樣 結 果 的 等 效 語 句 :
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;
COMPATIBILITY 相 容 性
SQL 標 準 允 許 在 CREATE SCHEMA 裡 面 有 一 個 DEFAULT CHARACTER SET 子 句 , 以 及 比 目 前 PostgreSQL 可 以 接 受 的 更 多 的 子 命 令 。
SQL 標 準 宣 告 在 CREATE SCHEMA 裡 的 子 命 令 可 以 以 任 意 順 序 出 現 。 目 前 PostgreSQL 裡 的 實 現 還 不 能 處 理 所 有 子 命 令 裡 需 要 提 前 引 用 的 情 況 ; 有 時 候 可 能 需 要 重 排 一 下 子 命 令 的 順 序 以 避 免 前 向 引 用 。
在 SQL 標 準 裡 , 模 式 的 所 有 者 總 是 擁 有 其 中 的 所 有 物 件 。 PostgreSQL 允 許 模 式 包 含 非 模 式 所 有 者 所 有 的 物 件 。 只 有 在 模 式 所 有 者 CREATE 了 自 己 的 模 式 的 許 可 權 給 了 其 它 人 才 可 能 出 現 。
SEE ALSO 參 見
ALTER SCHEMA [ alter_schema (7)], DROP SCHEMA [ drop_schema (l)]
譯 者
Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh