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

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

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

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

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

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

K.4.2. dbcopies_decoding #

dbcopies_decoding — модуль 1C для обновления копий баз данных, который включён по умолчанию. Для использования механизма логической репликации этого модуля установите для параметра wal_level значение logical.

За более подробной информацией об этом модуле обратитесь в поддержку 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.

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

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

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

  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