На 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?
select schemaname, tablename from pg_table_def
:?Ответы:
PG_TABLE_DEF в Redshift возвращает только информацию о таблицах, которые видны пользователю, другими словами, он покажет вам только те таблицы, которые находятся в схемах, которые определены в переменной search_path. Если PG_TABLE_DEF не возвращает ожидаемые результаты, убедитесь, что параметр search_path установлен правильно, чтобы включить соответствующие схемы.
Попробуй это -
Затем запустите ваш запрос -
источник
PG_TABLE_DEF будет возвращать информацию только для таблиц в схемах, которые включены в путь поиска. Ссылка
источник