Размер выборки данных из таблицы в PostgreSQL

Есть таблица data, в которой есть записи, для которых поле name принимает значения "R1", "R2" или "R3".

Как можно посчитать размер в МБ только тех данных, у которых поле name = "R1". Без создания дополнительных таблиц.


Ответы (1 шт):

Автор решения: Мелкий
select sum(pg_column_size(tablename)) 
  from tablename 
  where "name" = 'R1';

Будет объём в байтах.

Способ по-прежнему не точный: отдельная табличка будет отличаться по объёму, т.к. не считаются заголовки страниц данных, фрагментация, fillfactor. Но представление об объёме данных даст вполне внятное.

→ Ссылка