Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

PG_VACUUM_FULL_1C 1С:Предприятие и СУБД

PostgreSQL: сжатие и ускорение базы 1С с помощью команды VACUUM FULL

Обновлено: 26.08.2026 · Официальная документация ↗
  • База данных PostgreSQL занимает сотни гигабайт на диске, хотя половину старых документов удалили.
  • Запросы 1С и проведение документов работают медленно из-за чтения пустых «мертвых» строк.
  • На сервере заканчивается свободное дисковое пространство.
  • Автовакуум (autovacuum) не успевает очищать интенсивно перезаписываемые таблицы регистров.

Что такое «мертвые строки» и зачем нужен VACUUM простыми словами?

Когда вы изменяете или удаляете документ в 1С, база PostgreSQL физически не удаляет старую запись с диска. Она просто помечает ее невидимым флажком «удалено» (Dead Tuple). Со временем эти «мертвые строки» накапливаются, база распухает до сотен гигабайт, а сервер тратит кучу времени на перелопачивание мусора.

  • Обычный VACUUM: Находит мертвые строки и разрешает перезаписывать их новыми данными. Размер файла базы на диске не уменьшается! Можно запускать прямо во время работы пользователей.
  • VACUUM FULL: Полностью пересоздает таблицы базы заново, выбрасывая весь мусор и физически сжимает базу на диске, возвращая гигабайты свободного места. Требует полной блокировки базы (монопольный режим)!

Пошаговый регламент запуска VACUUM FULL:

Шаг 1. Отключение пользователей и службы 1С

Команда VACUUM FULL намертво блокирует таблицы. Если в этот момент кто-то зайдет в 1С, база зависнет.

  1. Остановите службу Агент сервера 1С:Предприятия через services.msc (или systemctl stop srv1cv8-8.3...).
  2. Убедитесь, что на диске с базой PostgreSQL есть свободное место, равное как минимум размеру сжимаемой базы (PostgreSQL будет создавать копию таблицы в процессе сжатия).

Шаг 2. Запуск очистки через pgAdmin или консоль

Откройте pgAdmin или подключитесь через консоль psql к вашей базе 1С и выполните команду:

VACUUM FULL VERBOSE ANALYZE;

Шаг 3. Что происходит во время работы команды?

  • FULL — пересобирает таблицы без пустых мест и уменьшает размер файлов на SSD.
  • VERBOSE — выводит подробный отчет о каждой сжатой таблице.
  • ANALYZE — собирает свежую статистику распределения данных для оптимизатора запросов.

Шаг 4. Запуск службы 1С

После завершения операции (надпись «Query returned successfully») запустите службу 1С обратно. База станет работать значительно быстрее, а диск освободится.

💡 Практика специалистов: Если у вас нет окна простоя для монопольной блокировки, используйте стороннюю бесплатную утилиту pg_repack. Она выполняет функционал VACUUM FULL в онлайн-режиме без блокировки работающих пользователей 1С.

Частые вопросы (FAQ)

Сколько времени длится VACUUM FULL?

В зависимости от скорости дисков и объема базы: от 15 минут для базы 50 ГБ до 2-4 часов для терабайтных баз данных.

Что произойдет, если прервать VACUUM FULL посередине?

База не повредится. PostgreSQL откатит транзакцию до исходного состояния, но место на диске не освободится.

Как часто нужно запускать VACUUM FULL?

В штатном режиме при правильно настроенном autovacuum запускать VACUUM FULL нужно не чаще 1-2 раз в год или после масштабного удаления старых документов за прошлые года.

Почему VACUUM FULL выдал ошибку 'No space left on device'?

Для пересборки таблицы требуется временное свободное место на диске, равное объему этой таблицы. Если места на диске 0, сжатие аварийно прерывается.

Полезные материалы
Рекомендуем