Как настроить Postgres Pro Enterprise для работы с 1С после установки
26 августа, технический уровень
При установке Postgres Pro Enterprise для 1С основные параметры СУБД для работы с нагрузками 1С настраиваются автоматически. После установки рекомендуется проверить версию и редакцию продукта, а также выполнить дополнительные настройки, которые помогут повысить производительность системы
В версиях Postgres Pro Enterprise выше 16 узнать редакцию продукта можно с помощью команды:
SHOW pgpro_edition_ext;Если используется Postgres Pro Enterprise для 1С, при инициализации нового кластера командой initdb автоматически запускается утилита pgpro_tune и применяется профиль 1c.tune. Профиль содержит параметры, предназначенные для повышения производительности и эффективности использования ресурсов при работе с нагрузками 1С.
Если используется обычный Postgres Pro Enterprise или версия 16 и ниже, настройте кластер для работы с 1С вручную с помощью профиля 1c.tune. Для этого примените утилиту pgpro_tune. Отдельная миграция с обычного Postgres Pro Enterprise на редакцию Postgres Pro Enterprise для 1С только для применения этих настроек не требуется.
Как применить профиль вручную
Если профиль 1c.tune не применялся при инициализации кластера или после создания кластера изменилась конфигурация сервера, выполните команду:
pgpro_tune -P 1c.tuneПо умолчанию утилита изменяет файл postgresql.conf в каталоге данных кластера.
Если каталог не задан в переменной окружения PGDATA, укажите его с помощью параметра -D:
pgpro_tune -D <каталог_данных> -P 1c.tuneПосле применения профиля перезапустите сервер. Перезапуск нужен для параметров, которые нельзя применить простой перезагрузкой конфигурации.
Повторно запускать pgpro_tune рекомендуется при любом существенном изменении ресурсов сервера (добавление RAM или vCPU), чтобы утилита заново рассчитала профиль под новое оборудование. Важно учитывать, что pgpro_tune дописывает рекомендуемые параметры в конец файла postgresql.conf. Из-за этого ранее настроенные пользовательские параметры могут быть перезаписаны новыми значениями.
Чтобы контролировать изменения, найдите в конце файла блок, начинающийся с комментария # The following settings were added by pgpro_tune, и убедитесь, что важные для вас параметры не были сброшены. При необходимости внесённые утилитой изменения можно откатить, просто удалив этот добавленный блок.
Подробное описание команды и её параметров приведено в документации по pgpro_tune
Рекомендованные дополнительные настройки
Автоматическая настройка создаёт базовую конфигурацию с учётом оборудования и особенностей нагрузки 1С. Для производственной системы дополнительно проверьте параметры, которые зависят от архитектуры, объёма данных и характера запросов. Актуальный перечень рекомендаций опубликован в разделе «Настройка Postgres Pro для решений 1С»
Для повышения производительности рекомендуется дополнительно настроить следующие возможности.
1. Настройте отдельное табличное пространство для временных объектов
Системы 1С активно используют временные таблицы при выполнении запросов и формировании отчётов. Для работы с такими объектами рекомендуется создать отдельное табличное пространство и разместить его на быстрых дисках.
Это позволяет отделить операции с временными объектами от работы с основными данными и снизить нагрузку на дисковую подсистему.
Инструкция: настройка табличного пространства для временных объектов
2. Подключите ускоренный поиск для динамических списков
В версиях Postgres Pro выше 17.7 после запуска сервера рекомендуется создать расширение pg_trgm_mchar:
CREATE EXTENSION pg_trgm_mchar CASCADE;Команду нужно выполнить отдельно в каждой базе данных, в которой требуется эта функциональность.
Расширение ускоряет поиск похожих строк в столбцах типов mchar и mvarchar. Эти типы часто используются в решениях 1С, поэтому подключение расширения может ускорить поиск и обработку динамических списков. Параметр CASCADE автоматически устанавливает необходимые зависимости.
Подробнее: настройка pg_trgm_mchar для 1С
3. Включите проталкивание условий соединения
Для версий Postgres Pro Enterprise 16.14.1 и 17.10.1 рекомендуется включить параметр:
enable_join_predicate_pushdown = onПараметр позволяет планировщику переносить условия соединения внешнего запроса внутрь подзапросов. В подходящих запросах это помогает выбрать более эффективный план выполнения и сократить объём обрабатываемых данных.
После изменения параметра примените новую конфигурацию способом, указанным в документации для вашей версии Postgres Pro Enterprise.
Подробнее: параметр enable_join_predicate_pushdown
Что нужно сделать после установки
В большинстве случаев достаточно выполнить три действия:
- Убедиться, что при инициализации кластера применен профиль 1c.tune.
- Если профиль не применялся, запустить pgpro_tune -P 1c.tune и перезапустить сервер.
- Настроить отдельное табличное пространство для временных объектов.
Остальные параметры настраиваются с учётом инфраструктуры и нагрузки конкретной системы. Полный перечень рекомендаций приведён в документации по настройке Postgres Pro для решений 1С