PostgreSQL | Как узнать полный размер одной таблицы на диске? — efim360.ru

PostgreSQL | Как узнать полный размер одной таблицы на диске?

Сколько места на диске занимает таблица с данными в PostgreSQL, учитывая всё?

Есть таблица cars в схеме test1 в базе данных sdb:

Таблица с автомобилями - 16 записей - PostgreSQL
Таблица с автомобилями - 16 записей - PostgreSQL

 

Решение

Чтобы узнать ПОЛНЫЙ размер одной таблицы PostgreSQL на диске нужно воспользоваться встроенной в СУБД функцией pg_total_relation_size(regclass)

SELECT pg_total_relation_size('sdb.test1.cars');

Оператор SELECT здесь нужен для получения табличного ответа.

Внутрь функции pg_total_relation_size() мы передаём СТРОКУ, которая является цепочным путём до объекта базы данных (до таблицы cars).

Цепочка: Название БД => Название Схемы => Название Таблицы

Пример работы функции:

Получили полный размер одной таблицы PostgreSQL на диске
Получили полный размер одной таблицы PostgreSQL на диске
Результат этой функции равен значению pg_table_size + pg_indexes_size.

 

Улучшенное представление результатов

Чтобы отобразить результат в понятном для человека виде, можно передать вызов нашей функции в качестве параметра в pg_size_pretty()

SELECT pg_size_pretty(pg_total_relation_size('sdb.test1.cars'));
Человеческое представления результата полного размера таблицы на диске - PostgreSQL
Человеческое представления результата полного размера таблицы на диске - PostgreSQL

В нашем случае размер таблицы cars на диске  занимает 32 килобайта.

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdmin - https://www.pgadmin.org

Официальный сайт СУБД PostgreSQL - https://www.postgresql.org

Раздел "9.27.7. Функции управления объектами баз данных" - https://postgrespro.ru/docs/postgresql/14/functions-admin#FUNCTIONS-ADMIN-DBOBJECT