全部產品
Search
文件中心

AnalyticDB:Schema管理

更新時間:Feb 05, 2024

Schema是資料庫的命名空間,它是一個資料庫內部的對象(表、索引、視圖、預存程序、操作符)的集合。Schema在每個資料庫中是唯一的。每個資料庫都有一個名為public的預設Schema。

如果使用者沒有建立任何Schema,對象會被建立在public schema中。所有的該資料庫角色(使用者)都在預設的public schema中擁有CREATE和USAGE特權。

建立Schema

使用CREATE SCHEMA命令來建立一個新的Schema,命令如下:

CREATE SCHEMA <schema_name> [AUTHORIZATION <username>]
說明
  • <schema_name>:schema名稱。

  • <username>:如指定authorization username,則建立的schema屬於該使用者。否則,屬於執行該命令的使用者。

樣本:

CREATE SCHEMA myschema;

設定Schema搜尋路徑

資料庫的search_path用於配置參數設定Schema的搜尋順序。

使用ALTER DATABASE命令可以設定搜尋路徑。例如:

ALTER DATABASE mydatabase SET search_path TO myschema, public, pg_catalog;

您也可以使用ALTERROLE命令為特定的角色(使用者)設定search_path。例如:

ALTER ROLE sally SET search_path TO myschema, public, pg_catalog;

查看當前Schema

使用current_schema()函數可以查看當前的Schema。例如:

SELECT current_schema();

您也可以使用SHOW命令查看當前的搜尋路徑。例如:

SHOW search_path;

刪除Schema

使用DROP SCHEMA命令刪除一個空的Schema。例如:

DROP SCHEMA myschema;
說明

預設情況下,Schema它必須為空白才可以刪除。

刪除一個Schema連同其中的所有對象(表、資料、函數等等),可以使用:

DROP SCHEMA myschema CASCADE;