Сжатие версионной базы portal_historiesstorage

Как бороться с увеличением размера ZODB за счёт portal_historiesstorage.

В ZMI-интерфейсе сайта есть папка portal_historiesstorage.
Зачастую, при длительной и активной работе сайта, размер этой папки в несколько раз превышает размер всего остального сайта.

Тут хранятся все версии изменённых объектов. При сжатии БД размер portal_historiesstorage не уменьшается.

Решение

В Plone при каждом редактировании объекта создается его новая версия (т.н. plone versioning), и все они хранятся в базе данных. Все версии, их количество и размер отображается в папке portal_historiesstorage.

При этом каждая версия занимает место и возможна ситуация, когда база данных становится огромного размера (известны случаи, когда БД достигала 15 Гб). Но на данный момент в Plone нет инструментов для явного удаления старых версий объектов, это только планируется сделать.

Решается эта проблема установкой максимального количества хранимых версий для всех объектов сайта.

Для этого необходимо в ZMI-интерфейсе войти в portal_purgepolicy и в строчке maximum number of versions to keep in the storage (set to -1 for infinite) заменить значение «-1» на желаемое положительное (например, «5») и нажать кнопку «Save Changes». Теперь в базе данных будет храниться только 5 последних версий каждого объекта, а более ранние будут удаляться.

Однако, при изменении количества хранимых версий старые версии всех объектов автоматически не удаляются. Изменения вступают в силу только для вновь создаваемых или редактируемых объектов.

Поэтому, для того чтобы удалить старые версии объектов и тем самым уменьшить размер базы данных, необходимо вручную отредактировать каждый объект. Достаточно будет открыть объект для редактирования и нажать кнопку «Сохранить», после чего будет сохранено указанное ранее максимальное количество версий. Все более ранние версии будут удалены.

Дополнительные материалы по теме:

What is versioning?

CMFEdition overview

Катерина Унжакова

Генеральный директор

ООО «Адели Сервис»

info@adelie.ru

Вам также может помочь