Как узнать размер базы данных PostgreSQL?
Есть база PostgreSQL base , пользователь postgres . Как одной командой, не используя скриптов, получить размер базы?
Отслеживать
задан 13 ноя 2010 в 14:36
34.5k 26 26 золотых знаков 98 98 серебряных знаков 214 214 бронзовых знаков
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
В человеческом виде размер базы покажет обёртка pg_size_pretty
SELECT pg_size_pretty( pg_database_size( 'sample_db' ) ); pg_size_pretty ---------------- 36 GB
Таким же макаром можно посмотреть и размер таблицы (с индексами)
SELECT pg_size_pretty( pg_total_relation_size( 'table' ) ); pg_size_pretty ---------------- 6341 MB
Если нужно без индексов, тогда запрос другой:
# SELECT pg_size_pretty( pg_relation_size( 'table' ) ); pg_size_pretty ---------------- 1341 MB
Postgresql как узнать размер базы данных

В сегодняшней короткой статье я вам покажу пару запросов которые показывают размер всех баз данных или какой-то одной базы данных в Postgresql.
Первый запрос показывает размер каждой базы данных.
psql> SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database;

Второй запрос показывает размер базы данных название которое мы указываем.
psql> SELECT pg_size_pretty(pg_database_size(‘demo’));

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.
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: Размер таблиц и базы данных
Чтоб узнать размер всех таблиц схемы базы данных достаточно выполнить вот такой запрос:
select table_name, pg_size_pretty( pg_total_relation_size(table_name)) from information_schema.tables where table_schema = 'table_schema_name' and table_catalog = 'database_name';
Этот запрос вернет полный размер таблицы, включая индексы и данные TOAST. Чтоб узнать размер таблицы без индексов ( но включая TOAST, карту свободного места и карту видимости ) воспользуйтесь функцией pg_table_size. pg_relation_size() — чтоб узнать объём, который занимает на диске указанный слой (‘main’, ‘fsm’, ‘vm’, ‘init’) заданной таблицы или индекса. Про некоторые другие функции получения размера объектов можно почитать в документации.
Узнать размер баз данных на сервере:
select datname, pg_size_pretty(pg_database_size(datname)) from pg_database;
pg_size_pretty возвращает значение размера объектов в удобочитаемом для человека виде, например 36 MB. Однако можно использовать выше указанные функции напрямую. Тогда размер объектов вернется в байтах.
Поделиться ссылкой:
- Послать ссылку другу по электронной почте (Открывается в новом окне)
- Нажмите для печати (Открывается в новом окне)
- Нажмите, чтобы поделиться в WhatsApp (Открывается в новом окне)
- Нажмите, чтобы открыть на Facebook (Открывается в новом окне)
- Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
- Нажмите, чтобы поделиться в Telegram (Открывается в новом окне)
- Нажмите, чтобы поделиться на LinkedIn (Открывается в новом окне)