У меня есть экземпляр Postgres 8.3 с табличными пространствами на общую сумму около 74G. Это отлично.
Но если я спрашиваю postgres, насколько велика моя база данных, я получаю (неожиданный) большой ответ: 595 ГБ.
Это кажется очень странным. Тесты дискового ввода-вывода в системе находятся в «нормальном» диапазоне, но запросы выполняются медленнее, чем раньше.
Это повреждение базы данных? Или есть способы «исправить» эту странность?
[Изменить]
Я проверяю размер табличного пространства с помощью os:
/usr/local/pgsql/data/tblspaces/du -c -h
74G total
Есть все табличные пространства
Я проверяю размер базы данных следующим образом:
select pg_size_pretty(pg_database_size('database'))
[Edit2]
Я также проверил весь каталог / usr / local / pgsql / dir. Это 76 G
И я запустил этот запрос:
select
tablename
, pg_relation_size(tablename)
, pg_size_pretty(pg_relation_size(tablename) ) as relsize
, pg_size_pretty(pg_total_relation_size(tablename) ) as disksize
, pg_total_relation_size(tablename)
from pg_tables where schemaname <> 'information_schema'
order by 2 desc
Что вернуло «нормальные» размеры отношений, ни один из которых не превысил размер диска.