Поддержка 1С
Описание
Функциональность позволяет использовать СУБД Pangolin в качестве СУБД для «Платформы 1С: Предприятие» версии 8.2 и 8.3.
Включение поддержки 1C активирует:
- оптимизации планировщика запросов;
- изменения в работе внутренних алгоритмов СУБД;
- дополнительные расширения.
Настройка
Варианты включения поддержки:
- при установке СУБД Pangolin через скрипты развертывания;
- на уже развернутом экземпляре СУБД Pangolin.
Включение поддержки 1C при установке СУБД Pangolin через скрипты развертывания
Для включения функциональности задайте значение параметра tuner_profile равное 1c в custom_config_initial.yml (пример файла приведен в документе «Конфигурационные файлы для настройки СУБД Pangolin», доступен в личном кабинете). А также используйте одну из отптимизированных для 1c схем развертывания: standalone-1c-dbms, cluster-1c-patroni-dcs, cluster-1c-patroni-etcd. Данные схемы при развертывании сами задают значение параметра tuner_profile равное 1c.
Подробная информация о custom_config_initial.yml приведена в разделе «Сценарий установки при помощи запуска Ansible плейбука» руководства по установке.
Конфигурации, разработанные на базе Платформы 1С, могут взаимодействовать с базой данных СУБД Pangolin только при значении параметра tuner_profile равному 1c. В этом режиме система автоматически устанавливает параметры СУБД, необходимые для корректной работы с 1С:
Параметр | Значение |
|---|---|
|
|
|
|
|
|
|
|
| 256 |
|
|
| 256MB |
| 20ms |
| 4.0 |
| 400 |
|
|
| 20s |
| 8 |
| 8 |
|
|
| 12 |
|
|
|
|
|
|
|
|
| temporary |
|
|
| 50 |
| 0.1 |
|
|
| 10000 |
Работа баз данных, созданных с включенным параметром optimize_for_1c, на версиях продукта до 5.3.2 не поддерживается.
Повышение производительности для использования совместно с 1С
Функциональность доступна только для редакций Enterprise и Enterprise для ERP-систем.
При включенной поддержке 1С и параметре optimize_for_1c = on в СУБД активируются дополнительные механизмы оптимизации работы с временными таблицами, характерные для нагрузки Платформы 1С.
Оптимизация работы с 1С
Функциональность доступна только для редакций Enterprise и Enterprise для ERP-систем.
При включенном параметре optimize_for_1c = on в СУБД активируются дополнительные механизмы оптимизации, улучшающие производительность типичных сценариев работы Платформы 1С.
Оптимизация работы с временными таблицами
Оптимизации, направленные на снижение нагрузки на файловую систему и системные каталоги при работе с краткоживущими временными объектами:
SIMD-оптимизации
Механизмы ускорения внутренних операций СУБД за счет использования SIMD-инструкций процессора:
Дополнительные оптимизации планировщика
Оптимизации, повышающие качество планирования и сокращающие объем обрабатываемых данных:
- автоматическое преобразование IN (VALUES) в ANY(ARRAY);
- оптимизация LEFT/RIGHT JOIN с LIMIT;
- расширенное проталкивание фильтров по JOIN-колонкам.
Включаемые расширения при поддержке 1С
При установке СУБД Pangolin с поддержкой 1С расширения автоматически активируются в базе данных (по умолчанию они установлены, но не активны).
Описание включаемых расширений:
Расширение | Описание |
|---|---|
добавляет функцию | |
добавляет оператор | |
добавляет операторы для работы с типом данных | |
проводит анализ данных после | |
расширение для управления планами запросов |
При установке СУБД Pangolin с поддержкой 1С расширения автоматически активируются (по умолчанию они установлены, но не активны).
Включение поддержки 1С на развернутом экземпляре СУБД Pangolin
Для включения поддержки 1C на работающей базе выполните:
ALTER SYSTEM SET optimize_for_1c = 'on';
SELECT pg_reload_conf();
Чтобы изменить настройку только в текущей сессии (для всех операций в этой сессии, независимо от пользователя) выполните:
SET optimize_for_1c = 'on';
Для установки расширений выполните команды:
CREATE EXTENSION "fasttrun" WITH SCHEMA "public";
CREATE EXTENSION "fulleq" WITH SCHEMA "public";
CREATE EXTENSION "mchar" WITH SCHEMA "public";
Отключение поддержки 1C
Для отключения функциональности выполните команды:
ALTER SYSTEM SET optimize_for_1c = 'off';
SELECT pg_reload_conf();
Отключение оптимизаций и изменений поведения алгоритмов контролируется параметрами конфигурации:
Параметр | Описание | Значения |
|---|---|---|
| Контролирует включение всех оптимизаций и изменений поведения алгоритмов, описанных выше |
|
| Контролирует оптимизацию |
|
Управление
Выдача прав на создание базы данных 1С не суперпользователям
Для создания базы данных 1C без прав суперпользователя необходимо:
-
Включить пользователю опцию
CREATEDB, которая позволит пользователю создать новую пустую базу данных в СУБД. -
Выдать пользователю права на системную роль
pg_create_plpgsql_language, которая позволяет выполнять без прав суперпользователя команды инициализации поддержки языкаPL/pgSQL:GRANT pg_create_plpgsql_language TO <username>;
CREATE OR REPLACE FUNCTION plpgsql_call_handler() RETURNS language_handler AS '$libdir/plpgsql' LANGUAGE C;
CREATE PROCEDURAL LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler;