PostgreSQL запросить список всех имен таблиц?

184

Есть ли какой-либо запрос, чтобы перечислить все таблицы в моей базе данных Postgres.

Я опробовал один запрос, как:

SELECT table_name FROM information_schema.tables
                      WHERE table_schema='public' 

Но этот запрос также возвращает представления.

Как я могу получить только имена таблиц, а не просмотры?

jobi88
источник

Ответы:

307

Что насчет этого запроса (на основании описания из руководства )?

SELECT table_name
  FROM information_schema.tables
 WHERE table_schema='public'
   AND table_type='BASE TABLE';
vyegorov
источник
4
это лучший ответ здесь.
Томми
3
Что такое тип таблицы?
Брайан Брайс
table_type из руководства: Тип таблицы: BASE TABLE для постоянной базовой таблицы (обычный тип таблицы), VIEW для представления, FOREIGN для внешней таблицы или LOCAL TEMPORARY для временной таблицы
tzachs