本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立結構描述
建立新資料庫之後,即可在目前的資料庫中建立新的結構描述。結構描述是包含具名資料庫物件 (例如資料表、檢視和使用者定義函數 (UDF)) 的命名空間。一個資料庫可以包含一個或多個結構描述,但每個結構描述只能屬於一個資料庫。兩個結構描述可以具有共用相同名稱的不同物件。
您可以在同一個資料庫中建立多個結構描述,以您想要的方式組織資料,或以功能方式將資料分組。例如,您可以建立結構描述來儲存所有暫存資料,以及另一個結構描述來儲存所有報表資料。您也可以建立不同的結構描述,以儲存與相同資料庫中不同業務群組相關的資料。每個結構描述可儲存不同資料庫物件,例如資料表、檢視和使用者定義函數 (UDF)。此外,您可以使用 AUTHORIZATION 子句建立結構描述。這個子句會將擁有權提供給指定的使用者,或設定指定結構描述可使用的磁碟空間上限配額。
Amazon Redshift 會自動為每個新資料庫建立名為 public
的結構描述。如果您在建立資料庫物件時未指定結構描述名稱,則物件會進入 public
結構描述。
若要存取結構描述中的物件,請使用 schema_name.table_name
符號限定物件。結構描述的限定名稱包含結構描述名稱和資料表名稱,並以點分隔。例如,您可能有一個 sales
結構定義,其中包含 price
資料表,以及也有 price
資料表的 inventory
結構描述。當您參照 price
資料表時,您必須將其限定為 sales.price
或 inventory.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;