Со временем база 1С на PostgreSQL может значительно увеличиваться в размере. Это приводит к росту времени резервного копирования, замедлению обслуживания и нехватке места на диске.
Почему база растет
- накопление удаленных данных (dead tuples);
- необслуживаемые индексы;
- активная работа пользователей;
- отсутствие регулярного VACUUM;
- длительное использование без реструктуризации.
Безопасные способы уменьшения размера базы
-
Выполнить VACUUM ANALYZE
Команда очищает устаревшие записи и обновляет статистику PostgreSQL.
VACUUM ANALYZE;
-
Выполнить VACUUM FULL
Позволяет физически уменьшить размер таблиц, но требует временной блокировки базы.
VACUUM FULL;
Рекомендуется выполнять только в нерабочее время.
-
Перестроить индексы
REINDEX DATABASE имя_базы;
Перестроение индексов помогает уменьшить их размер и улучшить производительность.
-
Очистить временные файлы и журналы
Проверьте каталоги WAL, временные файлы PostgreSQL и старые резервные копии.
Что делать НЕ рекомендуется
- удалять файлы PostgreSQL вручную;
- очищать каталог data без понимания последствий;
- останавливать PostgreSQL во время VACUUM FULL;
- выполнять обслуживание в рабочее время.
Рекомендации
- делайте резервную копию перед обслуживанием;
- настройте регулярный autovacuum;
- контролируйте рост базы через мониторинг;
- выполняйте обслуживание по расписанию.