Ответы:
Во всех схемах:
=> \dt *.*
В конкретной схеме:
=> \dt public.*
Можно использовать регулярные выражения с некоторыми ограничениями
\dt (public|s).(s|t)
List of relations
Schema | Name | Type | Owner
--------+------+-------+-------
public | s | table | cpn
public | t | table | cpn
s | t | table | cpn
Опытные пользователи могут использовать нотации регулярных выражений, такие как классы символов, например [0-9], чтобы соответствовать любой цифре. Все специальные символы регулярных выражений работают так, как указано в Разделе 9.7.3, за исключением того,
.что они используются в качестве разделителя, как упомянуто выше,*который транслируется в нотацию регулярного выражения.*,?которая транслируется.и$которая соответствует буквально. Вы можете эмулировать эти символы шаблона при необходимости, написав?для.,(R+|)дляR*или(R|)дляR?.$не требуется в качестве символа регулярного выражения, поскольку шаблон должен соответствовать целому имени, в отличие от обычной интерпретации регулярных выражений (другими словами,$автоматически добавляется к вашему шаблону). Напишите*в начале и / или конце, если вы не хотите, чтобы шаблон был закреплен. Обратите внимание, что в двойных кавычках все специальные символы регулярных выражений теряют свое специальное значение и сопоставляются буквально. Кроме того, специальные символы регулярного выражения сопоставляются буквально в шаблонах имен операторов (т. Е. Аргумент\do).
\dt public.user_info, public.user_scope?
\dt public.a; \dt public.b;на одной линии.
search_path, и что по умолчанию в "$user", public.*. Следовательно, set search_path=s; \dtсобирается перечислить все таблицы в схеме s.
Вы можете выбрать таблицы из information_schema
SELECT * FROM information_schema.tables
WHERE table_schema = 'public'
В качестве альтернативы information_schemaможно использовать pg_tables:
select * from pg_tables where schemaname='public';
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
information_schemaсписку элементов из publicсхемы, но pg_tablesметод работал хорошо. Большое спасибо!
Для тех, кто сталкивается с этим в будущем:
Если вы хотите увидеть список отношений для нескольких схем:
$psql mydatabase
mydatabase=# SET search_path TO public, usa; #schema examples
SET
mydatabase=# \dt
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | counties | table | postgres
public | spatial_ref_sys | table | postgres
public | states | table | postgres
public | us_cities | table | postgres
usa | census2010 | table | postgres
\dtэквивалентно\dt public.*, я прав?