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.

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

  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