@smir11

Как в PostgreSQL вывести все названия таблиц и определенные столбцы из каждой?

Подскажите, не знаю как выполнить SQL запрос так, чтобы я обратился ко всем таблицам в схеме, выбрал оттуда значения определенных столбцов и затем записал бы в переменную в виде: 1)table_name-column
2)table_name-column
  • Вопрос задан
  • 2426 просмотров
Решения вопроса 1
iMedved2009
@iMedved2009
Не люблю людей
SELECT table_name, column_name 
  FROM information_schema.columns
 WHERE table_catalog = 'имя базы' and table_schema = 'public' order by table_name;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Нужные Вам данные хранятся здесь information_schema.columns. Запрос довольно простой: поиск по схеме и объединение двух колонок.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Сбор мета-данных по БД - это та часть SQL которая не урегулирована стандартом. И каждый вендор БД делают свои имена справочников таблиц. У Постгреса это будет information_schema.columns у Oracle - ALL_TAB_COLUMNS и т.д.

Среди CLI инструментов тоже нет единого видения как собирать данные о схеме. Разные команды листинга.

Единственную попытку стандартизировать я видел в семействе Java JDBC драйверов. Там с помощью интерфейсов DatabaseMetaData, ResultSet и Connection программист может собрать мету о таблицах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы