Postgresql как посмотреть все таблицы
Перейти к содержимому

Postgresql как посмотреть все таблицы

  • автор:

Получить список таблиц базы данных и ее поля

Имеется несколько баз данных. Как получить список таблиц базы и полей этих таблиц в Postgres?

Отслеживать

задан 28 окт 2011 в 15:36

Nicolas Chabanovsky Nicolas Chabanovsky

51.4k 87 87 золотых знаков 268 268 серебряных знаков 508 508 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

select table_name, column_name from information_schema.columns where table_schema='public' 

Отслеживать

ответ дан 28 окт 2011 в 16:17

11.5k 16 16 серебряных знаков 16 16 бронзовых знаков

SELECT datname FROM pg_database WHERE datistemplate = false; SELECT table_name FROM information_schema.tables where table_schema='public' ORDER BY table_name; select table_name, column_name from information_schema.columns where table_schema='public' 

Обновление

--PK key SELECT pg_attribute.attname, format_type(pg_attribute.atttypid, pg_attribute.atttypmod) FROM pg_index, pg_class, pg_attribute, pg_namespace WHERE pg_class.oid = 'tablename'::regclass AND indrelid = pg_class.oid AND nspname = 'public' AND pg_class.relnamespace = pg_namespace.oid AND pg_attribute.attrelid = pg_class.oid AND pg_attribute.attnum = any(pg_index.indkey) AND indisprimary 

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

Подскажите, не знаю как выполнить SQL запрос так, чтобы я обратился ко всем таблицам в схеме, выбрал оттуда значения определенных столбцов и затем записал бы в переменную в виде: 1)table_name-column
2)table_name-column

  • Вопрос задан более года назад
  • 1012 просмотров

Комментировать
Решения вопроса 1

iMedved2009

Дмитрий @iMedved2009
Не люблю людей

SELECT table_name, column_name FROM information_schema.columns WHERE table_catalog = 'имя базы' and table_schema = 'public' order by table_name;

Ответ написан более года назад
Комментировать
Нравится Комментировать
Ответы на вопрос 2

ivandest

Нужные Вам данные хранятся здесь information_schema.columns. Запрос довольно простой: поиск по схеме и объединение двух колонок.

Ответ написан более года назад
Комментировать
Нравится Комментировать

mayton2019

mayton2019 @mayton2019
Bigdata Engineer

Сбор мета-данных по БД — это та часть SQL которая не урегулирована стандартом. И каждый вендор БД делают свои имена справочников таблиц. У Постгреса это будет information_schema.columns у Oracle — ALL_TAB_COLUMNS и т.д.

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

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

PostgreSQL. Как узнать размер базы данных и таблиц?

Узнать размер всех таблиц Запрос выведет размер всех таблиц в базе.

SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_relation_size(C.oid)) AS "size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') ORDER BY pg_relation_size(C.oid) DESC; 

Узнать общий размер таблиц Этот запрос показывает общий размер таблиц, включая все индексы в текущей базе данных:

SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND C.relkind <> 'i' AND nspname !~ '^pg_toast' ORDER BY pg_total_relation_size(C.oid) DESC LIMIT 20; 

Размер базы данных

SELECT pg_size_pretty( pg_database_size( 'sample_db' ) ); 
SELECT pg_size_pretty( pg_total_relation_size( 'table' ) ); 

Размер всех баз данных на сервере

select datname, pg_size_pretty(pg_database_size(datname)) from pg_database; 

Количество записей в таблице

SELECT count(*) FROM my_table; 

Совпадений по запросу » «

postgresql как посмотреть таблицы

Для того чтобы посмотреть таблицы в PostgreSQL, можно воспользоваться следующими способами:

  1. Использовать команду \dt в интерактивной консоли psql. Данная команда покажет список всех таблиц в текущей базе данных.
  2. Использовать команду SELECT table_name FROM information_schema.tables WHERE table_schema=’public’; в SQL запросе. Это также покажет список всех таблиц в текущей базе данных.
  3. Использовать инструмент администрирования баз данных, такой как pgAdmin или DBeaver. В этих инструментах есть удобные графические интерфейсы для просмотра таблиц и других объектов базы данных.
  4. Можно также использовать системную таблицу pg_tables для просмотра списка таблиц в базе данных. Например, SELECT tablename FROM pg_tables WHERE schemaname=’public’; .

Это основные способы просмотра таблиц в PostgreSQL. Вы можете выбрать любой из них в зависимости от своих предпочтений и удобства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *