Как перечислить отношения в схеме postgres

Мне нужна помощь с довольно простой командой Postgres, но я не могу найти ссылку нигде. Мой кластер настроен следующим образом:

database_1
   \- schema_1
   \- schema_2
        \- relation_1
        \- relation_2
        \- ...
   \- relation_3
   \- relation_4
   \- ...

Я знаю, как перечислять базы данных (\l), и я знаю, как перечислить отношения в схеме "по умолчанию" (\dt). Черт, я даже могу перечислять схемы (\dn), но я не могу, для жизни меня, перечислить отношения внутри схемы.

Halp!

Спасибо, Джо


Чтобы прояснить, я ищу следующее:

> \c database_1
You are now connected to database_1
> \somecommand
relation_1
relation_2
>

Ответы

Ответ 1

Попробуйте следующее:

\dt schema_2.

Ответ 2

Я уточню, так как это первый результат поиска Google.

\dt schema_2 не будет перечислять все отношения для schema_2.

Правильный ответ в комментариях к ответу.

\dt schema_2.* 

Более подробный ответ можно найти здесь, Список таблиц в схеме PostgreSQL

Ответ 3

Начиная с версии 11.2 PostgresQL, я считаю, что это работает так, как ожидалось. В нем также перечислены представления и последовательности, а не только таблицы.

\d схема_2.

Если вы замените schema_2 на имя вашей схемы и оставите точку, она будет работать нормально.

Некоторые дополнительные команды доступны в psql-соединении через \?