Redshift
Redshift 表未顯示在模式表中?
在 Redshift 上,為什麼我的表沒有出現在以下查詢中?它肯定存在,如我執行的下一個查詢所示。我想要一種列出模式的所有表的方法:
mydb=# select distinct(tablename) from pg_table_def where schemaname = 'db'; tablename ----------- (0 rows) mydb=# \d db.some_table Table "db.some_table" Column | Type | Modifiers -----------------+-----------------------------+----------- ...correct info shows up here... ...but nothing showed up above?
Redshift 中的PG_TABLE_DEF僅返回有關使用者可見的表的資訊,換句話說,它只會顯示在變數 search_path 中定義的模式中的表。如果 PG_TABLE_DEF 未返回預期結果,請驗證search_path 參數是否設置正確以包含相關模式。
嘗試這個 -
mydb=# set search_path="$user",db;
然後執行您的查詢 -
mydb=# select tablename from pg_table_def where schemaname = 'db';
PG_TABLE_DEF 將只返回搜尋路徑中包含的模式中的表的資訊。 關聯