
Одним из ключевых нововведений в ПК «Бастион-3» версии 2025.3 стало внедрение секционирования таблиц журнала событий.
Секционирование - это метод разделения одной логической таблицы на физически независимые части (секции), которые хранятся отдельно, но обрабатываются как единое целое.
Преимущества секционирования:
Секционирование ускоряет выполнение SQL-запросов за счет обработки только релевантных секций вместо полного сканирования таблицы. Разные секции могут обрабатываться параллельно, а оптимизированные индексы (индексы строятся на уровне секций, что уменьшает их размер) делают поиск данных заметно быстрее.
Нагрузка на инфраструктуру снижается благодаря минимизации блокировок – операции с отдельными секциями не затрагивают всю таблицу. Система интеллектуально управляет кэшированием, удерживая в оперативной памяти актуальные данные (например, за текущий период), тогда как менее востребованная информация хранится на диске.
При обновлении ПК «Бастион-3» до версий 2025.3 и 2025.Hotfix1 перенос архивных данных из протокола событий в новые секционированные таблицы по умолчанию не осуществлялся.
Поскольку перенос событий может занимать значительное время, в указанных версиях было решено выполнять его после обновления системы с помощью специального скрипта. Такой подход позволял проводить миграцию данных параллельно со штатной работой системы, минимизируя время её простоя при обновлении.
Анализ обращений в службу поддержки показал, что автоматический перенос данных в секционированные таблицы во время обновления системы предпочтителен для большинства заказчиков.
Для реализации этого функционала выпущена версия 2025.Hotfix2 ПК «Бастион-3». Полный дистрибутив этой версии размещен в разделе «Дистрибутивы» сайта.
Данную версию рекомендуется использовать:
Внимание! Если вы:
Если в базе данных вашей системы «Бастион-3» содержатся более 20 000 000 записей, настоятельно рекомендуется выполнять перенос событий вручную.
Следует учитывать, что операция переноса событий требовательна к свободному месту на диске, где расположена СУБД. Необходимо, чтобы свободного места было больше, чем размер обновляемой базы данных.
Для переноса событий в новые секционированные таблицы вручную следует выполнить следующие шаги:
Обновление схемы базы данных выполняется в утилите для администрирования баз данных ПК «Бастион-3» - «Управление схемами БД» с помощью скриптов обновления, поставляемых в пакете инсталляции. Для выполнения обновления следует нажать на кнопку «Обновить базу данных» в основном окне модуля «Управление схемами»:
Модуль обновления автоматически определяет текущую версию БД и предлагает доступные варианты обновления. Выберите версию 3.25.3.
Обновление базы данных в приложении «Управление схемами баз данных» Bastion3\Db\Postgres\Updates\3.25.3\protocol\import_messages.sql
Выполнение скрипта - также функция утилиты «Управление схемами БД»:
Выполнение SQL-скрипта в приложении «Управление схемами баз данных»
Диалоговое окно «Обновление базы данных»Скрипт переноса событий можно выполнять параллельно со штатной работой системы после обновления БД до версии 3.25.3 (см. выше пункт 4.1), это позволяет сократить время простоя системы при обновлении.
Полный список изменений, вошедших в очередной релиз ПК «Бастион-3», содержится в документе ПК «Бастион-3». История изменений. Перед обновлением системы обязательно изучите этот документ.