本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
查詢目錄資料表
主題
通常,您可以將目錄資料表和檢視 (其名稱開頭為 PG_
的關係) 聯結至 Amazon Redshift 資料表和檢視。
目錄資料表使用 Amazon Redshift 不支援的各種資料類型。下列資料類型在將查詢對 Amazon Redshift 資料表聯結目錄資料表時受到支援:
-
bool
-
"char"
-
float4
-
int2
-
int4
-
int8
-
name
-
oid
-
text
-
varchar
如果您寫入加入查詢,其明確或隱含地參考擁有不受支援之資料類型的欄位,則查詢會傳回錯誤。除了 PG_SETTINGS 和LOCKS PG_ 資料表所使用的函數之外,某些目錄資料表中使用的SQL函數也不受支援。
例如,由於不支援的函數,無法在與 Amazon Redshift 資料表的聯結中查詢 PG_STATS 資料表。
下列目錄資料表和檢視提供的資訊很有用,您可以將其與 Amazon Redshift 資料表中的資訊結合在一起。因為資料類型和函數限制,部分資料表僅允許部分存取權。當您查詢可部分存取的資料表時,請小心地選取或參考其欄位。
以下資料表是可完整存取的,且未包含不受支援的函數類型:
以下資料表是可部分存取的,且包含一些不受支援類型、函數和遭截斷的文字欄位。文字欄位中的值遭截斷為 varchar(256) 值。
未在此處列出的目錄資料表為不可存取或可能未供 Amazon Redshift 管理員使用。然而,如果您的查詢不包含對 Amazon Redshift 資料表的加入時,您可以開放地查詢任何目錄資料表或檢視。
您可以使用 Postgres 目錄資料表中的OID資料欄作為聯結資料欄。例如,聯結條件會將每個 PG_DATABASE 資料列的內部資料庫物件 ID 與 STV__ 資料表中可見的 DBTBL_PERMID 資料欄pg_database.oid = stv_tbl_perm.db_id
相符。當您從資料表中選取 時,資料OID欄是看不到的內部主索引鍵。目錄檢視沒有OID資料欄。
某些 Amazon Redshift 函數必須只能在運算節點上執行。如果查詢參考使用者建立的資料表, 會在運算節點SQL上執行。
僅參考目錄資料表 (具有 PG 字首的資料表,例如 PG_TABLE_DEF) 或不參考任何資料表的查詢,僅在領導節點上執行。
如果使用運算節點函數的查詢未參考使用者定義的資料表或 Amazon Redshift 系統資料表傳回下列錯誤。
[Amazon](500310) Invalid operation: One or more of the used functions must be applied on at least one user created table.