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


184

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

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

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

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

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

Ответы:


307

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

SELECT table_name
  FROM information_schema.tables
 WHERE table_schema='public'
   AND table_type='BASE TABLE';

4
это лучший ответ здесь.
Томми

3
Что такое тип таблицы?
Брайан Брайс

table_type из руководства: Тип таблицы: BASE TABLE для постоянной базовой таблицы (обычный тип таблицы), VIEW для представления, FOREIGN для внешней таблицы или LOCAL TEMPORARY для временной таблицы
tzachs
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.