Он встроен в PSQL, Вы можете использовать подстановочные знаки в \d
, \dt
и т.д., например:
craig=> \dt test*
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+-------
public | test | table | craig
public | testtable | table | craig
public | testu | table | craig
public | testx | table | craig
(4 rows)
Вы хотите использовать \dt
так \d
покажет детали для каждой таблицы, а не только перечислите таблицу.
Вы можете сделать это с помощью схем тоже, например:
\dt *.sometable
будут перечислены все таблицы с именем sometable
в любой схеме.
Гораздо удобнее, чем писать запросы от pg_class
, соединенных с pg_namespace
или запросов information_schema
.
Принят обычный синтаксис globbing, где ?
- любой символ, а *
- ноль или более символов. Таким образом, \dt ????
будет перечислять все таблицы с четырьмя символами.
Множественные разрешено использование шаблонов, например:
craig=> \dt public.*e?t*
List of relations
Schema | Name | Type | Owner
--------+--------------+-------+-------
public | exclude_test | table | craig
public | prep_test | table | craig
public | test | table | craig
public | testtable | table | craig
public | testu | table | craig
public | testx | table | craig
(6 rows)
Не забудьте добавить 'имя_таблицы', если вам просто нужно tablenames 'ВЫБРАТЬ имя_таблицы FROM pg_tables WHERE SUBSTRING (имя_таблицы FROM '') <> ''; ' –
zerocog