K.4. Дополнительные модули

K.4.1. Встроенные модули по умолчанию
K.4.2. pg_trgm_mchar
K.4.3. plantuner
K.4.4. online_analyze
K.4.5. auto_dump

K.4.1. Встроенные модули по умолчанию

Чтобы обеспечить поддержку решений 1C, дистрибутив Postgres Pro содержит следующие встроенные модули, которые включены по умолчанию и не требуют дополнительной настройки:

  • fasttrun — предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, предотвращающую увеличение размера pg_class.

  • fulleq — предоставляет дополнительный оператор равенства для совместимости с Microsoft SQL Server.

  • mchar — предоставляет дополнительные типы данных MCHAR и MVARCHAR для совместимости с Microsoft SQL Server.

K.4.2. pg_trgm_mchar

pg_trgm_mchar — расширение Postgres Pro, которое обеспечивает быстрый поиск схожих строк типов mchar и mvarchar на основе триграмм. Эти типы данных часто используются для решений 1C.

Чтобы включить поддержку поиска на основе триграмм для этих типов данных, установите pg_trgm_mchar с параметром CASCADE:

CREATE EXTENSION pg_trgm_mchar CASCADE;

Эта команда автоматически устанавливает все необходимые зависимости и включает поиск на основе триграмм для mchar и mvarchar. Это может быть особенно полезно для ускорения обработки динамических списков в решениях 1C.

K.4.3. plantuner

Модуль plantuner позволяет оптимизировать планы выполнения запросов. Чтобы настроить его для решений 1C, выполните следующее:

  1. Добавьте имя библиотеки в переменную shared_preload_libraries в файле postgresql.conf.

    shared_preload_libraries = 'plantuner'
  2. Установите для параметра plantuner.fix_empty_table значение on для улучшения планирования запросов с недавно созданными пустыми таблицами.

    plantuner.fix_empty_table = on

K.4.4. online_analyze

Модуль online_analyze предоставляет набор функций, которые немедленно обновляют статистику для задействованных таблиц после операций INSERT, UPDATE, DELETE, SELECT INTO или COPY.

Примечание

Для версий 1C:Enterprise 8.3.13 и выше необязательно использовать модуль online_analyze. 1C:Enterprise автоматически выполняет команду ANALYZE после каждой вставки во временную таблицу.

Однако включение online_analyze может быть полезным для более старых версий 1C:Enterprise или в особых случаях, например, если фоновые изменения не обеспечивают ожидаемые результаты или оптимизатор часто ошибается в оценке количества строк.

Следующая инструкция полезна, только если вы решите использовать этот модуль.

Чтобы настроить этот модуль, выполните шаги ниже.

  1. Добавьте имя библиотеки в переменную shared_preload_libraries в файле postgresql.conf.

    shared_preload_libraries = 'online_analyze'
  2. Включите этот модуль.

    online_analyze.enable = on
  3. Укажите минимальное число изменений строк, после которого может начаться немедленный анализ.

    online_analyze.threshold = 50
  4. Укажите процент от размера таблицы, при котором начнётся немедленный анализ.

    online_analyze.scale_factor = 0.1
  5. Выполняйте команду ANALYZE без VERBOSE.

    online_analyze.verbose = off
  6. Включите немедленный анализ для временных таблиц.

    online_analyze.table_type = 'temporary'
  7. Укажите минимальный интервал времени между вызовами ANALYZE для каждой таблицы, в миллисекундах.

    online_analyze.min_interval = 10000

K.4.5. auto_dump

Расширение auto_dump предназначено для сбора данных по длительным и проблемным запросам и последующего воспроизведения этих запросов с целью устранения неполадок.

Чтобы включить и настроить это расширение, выполните следующие действия:

  1. Добавьте auto_dump в параметр shared_preload_libraries в файле postgresql.conf.

    shared_preload_libraries = 'auto_dump'
  2. Включите расширение:

    auto_dump.enable = on

Перед использованием расширения задайте другие обязательные параметры конфигурации и перезапустите сервер баз данных, чтобы изменения вступили в силу.