Моя база данных postgres (версия 8.2.3) показывает размер 24 ГБ.
Чтобы получить эту цифру, я выполняю этот запрос:
SELECT
oid, datname, pg_database_size(datname) as actualsize,
pg_size_pretty(pg_database_size(datname)) as size
FROM pg_database
ORDER BY datname
Однако размеры отдельных таблиц в одной и той же базе данных не добавляются в 24 ГБ при выполнении этого запроса:
SELECT
schemaname, tablename, pg_size_pretty(size) AS size_pretty,
pg_size_pretty(total_size) AS total_size_pretty
FROM
(SELECT *, pg_relation_size(schemaname||'.'||tablename) AS size,
pg_total_relation_size(schemaname||'.'||tablename) AS total_size
FROM pg_tables where schemaname = 'public') AS TABLES
ORDER BY total_size DESC;
Я суммировал размер отдельных таблиц с красивыми размерами и total_size, но значение не совпадает:
Я получаю красивый размер 3,5 ГБ
Я получаю total_size_pretty 5,2 ГБ.
Где я могу узнать, для чего используется оставшаяся часть общего пространства?