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, выполните следующее:
Добавьте имя библиотеки в переменную
shared_preload_libraries
в файлеpostgresql.conf
.shared_preload_libraries = 'plantuner'
Установите для параметра
plantuner.fix_empty_table
значениеon
для улучшения планирования запросов с недавно созданными пустыми таблицами.plantuner.fix_empty_table = on
K.4.4. online_analyze
Модуль online_analyze предоставляет набор функций, которые немедленно обновляют статистику для задействованных таблиц после операций INSERT
, UPDATE
, DELETE
, SELECT INTO
или COPY
.
Чтобы настроить этот модуль, выполните шаги ниже.
Добавьте имя библиотеки в переменную
shared_preload_libraries
в файлеpostgresql.conf
.shared_preload_libraries = 'online_analyze'
Включите этот модуль.
online_analyze.enable = on
Укажите минимальное число изменений строк, после которого может начаться немедленный анализ.
online_analyze.threshold = 50
Укажите процент от размера таблицы, при котором начнётся немедленный анализ.
online_analyze.scale_factor = 0.1
Выполняйте команду
ANALYZE
безVERBOSE
.online_analyze.verbose = off
Включите немедленный анализ для временных таблиц.
online_analyze.table_type = 'temporary'
Укажите минимальный интервал времени между вызовами
ANALYZE
для каждой таблицы, в миллисекундах.online_analyze.min_interval = 10000