web-dev-qa-db-ja.com

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?
12
Some Guy

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';
13
Kamlesh Gallani

PG_TABLE_DEFは、検索パスに含まれているスキーマ内のテーブルの情報のみを返します。 リンク

1
Bill SY