Відповіді:
У всіх схемах:
=> \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.*, я прав?