x67
@x67

Почему может быть раздута БД postgres?

Есть база данных, с недавних пор осознал, что пора бы избавлять ее от старых данных, поставил для самых больших таблиц ежедневную очистку от старых данных, а затем полный вакуум(потом я его ежедневное выполнение отключил). БД начала расти в размерах, при том что таблицы не растут. Из мануалов понятно что VACUUM FULL избавити нас от лукавого, но он не избавляет! Для всех таблиц показывает
INFO:  vacuuming "tablename"
INFO:  "tablename": found 0  removable, X nonremovable row versions in Z pages
DETAIL:  0 dead row versions cannot be removed yet.
CPU 0.00s/0.00u sec elapsed Y.YY sec., то есть вакуум не нужен, ибо все ненужное уже удалено

REINDEX тоже на всякий случай сделал, хотя индексов никогда не создавал. И тем не менее, таблиц сейчас на 12 Гб, а база раздута до 24. Что с этим делать?

P.s. Еще стали появляться ошибки
WARNING:  terminating connection because of crash of another server process
DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
HINT:  In a moment you should be able to reconnect to the database and repeat your command.
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
connection to server was lost
psql: FATAL:  the database system is in recovery mode
при нескольких тяжелых запросах или при выполнении вакуума по ночам (который я отключил). Тяжелые запросы бывают редко, но ими я выгружаю по ~500 мб данных, сформированных из нескольких подзапросов, длятся они долго (десятки минут), но тут к скорости требований нет
p.p.s настройки автовакуума и постгреса по дефолту
  • Вопрос задан
  • 1085 просмотров
Решения вопроса 1
terrier
@terrier
После перезапуска размер тот же?
Какие директории самые большие в $PGDATA? ( du -sh ( --max-depth=N ) | sort -hr если что )
Собственно диск не сыпется?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы