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

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

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

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

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

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

Ответ 1

Какой бот этот запрос (на основе описания из руководство)?

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

Ответ 2

Если вам нужен список базы данных

SELECT datname FROM pg_database WHERE datistemplate = false;

Если вы хотите, чтобы список таблиц из текущей установки pg всех баз данных

SELECT table_schema,table_name FROM information_schema.tables
ORDER BY table_schema,table_name;

Ответ 3

Откройте терминал postgres с нужной таблицей данных:

psql dbname (run this line in a terminal)

тогда запустите эту команду в среде postgres

\d

Это будет описывать все таблицы по имени. В основном список таблиц по имени возрастает.

Затем вы можете попробовать это, чтобы описать таблицу по полям:

\d tablename.

Надеюсь, что это поможет.

Ответ 4

select 
 relname as table 
from 
 pg_stat_user_tables 
where schemaname = 'public'

select 
  tablename as table 
from 
  pg_tables  
where schemaname = 'public'

Ответ 6

Попробуй это:

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

этот работает!