建立結構描述 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立結構描述

建立新資料庫之後,即可在目前的資料庫中建立新的結構描述。結構描述是包含具名資料庫物件 (例如資料表、檢視和使用者定義函數 (UDF)) 的命名空間。一個資料庫可以包含一個或多個結構描述,但每個結構描述只能屬於一個資料庫。兩個結構描述可以具有共用相同名稱的不同物件。

您可以在同一個資料庫中建立多個結構描述,以您想要的方式組織資料,或以功能方式將資料分組。例如,您可以建立結構描述來儲存所有暫存資料,以及另一個結構描述來儲存所有報表資料。您也可以建立不同的結構描述,以儲存與相同資料庫中不同業務群組相關的資料。每個結構描述可儲存不同資料庫物件,例如資料表、檢視和使用者定義函數 (UDF)。此外,您可以使用 AUTHORIZATION 子句建立結構描述。這個子句會將擁有權提供給指定的使用者,或設定指定結構描述可使用的磁碟空間上限配額。

Amazon Redshift 會自動為每個新資料庫建立名為 public 的結構描述。如果您在建立資料庫物件時未指定結構描述名稱,則物件會進入 public 結構描述。

若要存取結構描述中的物件,請使用 schema_name.table_name 符號限定物件。結構描述的限定名稱包含結構描述名稱和資料表名稱,並以點分隔。例如,您可能有一個 sales 結構定義,其中包含 price 資料表,以及也有 price 資料表的 inventory 結構描述。當您參照 price 資料表時,您必須將其限定為 sales.priceinventory.price

以下範例會為使用者 GUEST 建立名為 SALES 的結構描述。

CREATE SCHEMA SALES AUTHORIZATION GUEST;

如需更多命令選項的詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的 CREATE SCHEMA

若要檢視資料庫中的結構描述清單,請執行以下命令。

select * from pg_namespace;

輸出應看起來如下列內容。

nspname | nspowner | nspacl ----------------------+----------+-------------------------- sales | 100 | pg_toast | 1 | pg_internal | 1 | catalog_history | 1 | pg_temp_1 | 1 | pg_catalog | 1 | {rdsdb=UC/rdsdb,=U/rdsdb} public | 1 | {rdsdb=UC/rdsdb,=U/rdsdb} information_schema | 1 | {rdsdb=UC/rdsdb,=U/rdsdb}

如需如何查詢目錄資料表的相關資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的查詢目錄資料表

使用 GRANT 陳述式將結構描述的許可授予使用者。

下列範例授予使用者使用 SELECT SALES 陳述式,從結構描述中的所有資料表或檢視GUEST中選取資料的權限。

GRANT SELECT ON ALL TABLES IN SCHEMA SALES TO GUEST;

下列範例會一次授予GUEST使用者所有可用的權限。

GRANT ALL ON SCHEMA SALES TO GUEST;