2013-07-12 35 views
0

剛剛從SSMS移動到Redshift(使用DBeaver),並且想知道是否有獲取表格描述的好選擇。在SQL服務器中,您可以編寫一個針對information_schema的優秀查詢來提取列名,數據類型等。Redshift中的任何類似選項?Redshift選項Information_Schema

+0

http://docs.aws.amazon.com/redshift/latest/dg/r_Schemas_and_tables.html – Guy

+0

是的,我知道有紅移文件,我已經通過它搜索。是否有您想要引起我注意的特定部分? – ScottieB

+0

深層鏈接:http://docs.aws.amazon.com/redshift/latest/dg/c_join_PG_examples.html – Guy

回答

1

INFORMATION_SCHEMA表在Redshift中可用。

這可能是您選擇的查詢工具(DBeaver)在GUI中隱藏架構。但是,您仍然應該能夠正常查詢它們。

當我使用Navicat時,這當然是這種情況。如果您想查看架構,那麼在使用SQL Workbench或SQuirreL時它是可見的。

2016-04-04:AWS已創建了更簡單的視圖,它提供完整的CREATE TABLE語句,包括所有Redshift特定的內容。從這裏獲得他們:https://github.com/awslabs/amazon-redshift-utils/tree/master/src/AdminViews

1

看起來你正在尋找的東西是這樣的:http://rocky-says.blogspot.com/2015/01/amazon-redshift-generate-table-ddl.html

下面是該查詢,這將有助於你:只需更換< TABLE>和< SCHEMA>您的表名和模式

SELECT DISTINCT n.nspname AS schemaname 
,c.relname AS tablename 
,a.attname AS COLUMN 
,a.attnum AS column_position 
,pg_catalog.format_type(a.atttypid, a.atttypmod) AS TYPE 
,pg_catalog.format_encoding(a.attencodingtype) AS encoding 
    ,a.attisdistkey AS distkey 
,a.attsortkeyord AS sortkey 
,a.attnotnull AS notnull 
,a.attencodingtype AS compression 
,con.conkey AS primary_key_column_ids 
,con.contype AS con_type 
FROM pg_catalog.pg_namespace n 
,pg_catalog.pg_class c 
,pg_catalog.pg_attribute a 
,pg_constraint con 
,pg_catalog.pg_stats stats 
WHERE n.oid = c.relnamespace 
AND c.oid = a.attrelid 
AND a.attnum > 0 
AND c.relname NOT LIKE '%pkey' 
AND lower(c.relname) = '' 
AND n.nspname = '' 
AND c.oid = con.conrelid(+) 
ORDER BY A.ATTNUM 
;