Актуальность использования СУБД PostgreSQL для 1С особенно набирает обороты в последнее время, поскольку не требуется приобретать лицензии MS SQL.
Рассмотрим архитектурное решение, когда СУБД вынесена на отдельную машину, а сервер 1С находится на Windows Server.
Данное архитектурное решение было выбрано по причине того, что обмен между БД настроен через COM-компонент. Если сервер 1С переносить на Linux, то требуется также перенастраивать обмен, который в нашем решении не требуется.
В первую очередь требуется выбрать дистрибутив, на котором будем устанавливать СУБД. Мы выбрали Debian 11.
Минимальные системные требования для установки Postgres Pro, создания кластера баз данных и запуска сервера:
- Процессор с частотой 1 ГГц.
- 1 ГБ ОЗУ.
- 1 ГБ свободного дискового пространства.
Для вспомогательных компонентов или данных потребуется дополнительное дисковое пространство.
Для того чтобы Postgres Pro работал с сервером 1С требуется установить locale ru_RU.UTF-8. Вводим команду:
# dpkg-reconfigure locales
Выбираем пробелом ru_RU.UTF-8 UTF-8 и нажимаем “Enter”. Перезагружаем сервер.
Установка Postgres Pro для работы с 1С
Для работы с 1С существует несколько редакций PostgreSQL, наиболее известные это от компании Postgres Pro и так же от самой 1С.
У нас будет установка Postgres Pro.
- Заходим на сайт 1c.postgres.ru.
- Отвечаем на 3 вопроса и в конце заполняем свой e-mail, куда вышлют инструкцию по установки.
- Вводим команды:
# wget https://repo.postgrespro.ru/pg1c-14/keys/pgpro-repo-add.sh
# sh pgpro-repo-add.sh
# apt-get install postgrespro-1c-14
# systemctl status postgrespro-1c-14.service
Проверяем статус Postgres Pro, он должен быть установлен и запущен.
Настройка PostgreSQL для работы с 1С
После успешной установки, мы должны настроить СУБД для работы 1С. В первую очередь задаем пароль для внутреннего пользователя Postgres, чтобы подключаться к БД с 1С сервера.
# sudo -u postgres psql -U postgres -c "alter user postgres with password 'postgrespwd';" ALTER ROLE
Чтобы немного увеличить быстродействие и сократить износ ресурса диска, мы перенесем хранение временной статистики на оперативную память.
По умолчанию, под статистику выделяется 25 мегабайт дискового пространства. Мы выделим 256 мегабайт памяти, чтобы был запас.
Создаем директорию, куда будем добавлять виртуальный диск:
# mkdir /var/lib/pgsql_tmp # chown postgres:postgres /var/lib/pgsql_tmp/
Добавляем в /etc/fstab в конец строчку:
tmpfs /var/lib/pgsql_tmp tmpfs size=256M,uid=postgres,gid=postgres 0 0
Монтируем диск в систему:
# mount /var/lib/pgsql_tmp
Идем в конфиг БД /var/lib/pgpro/1c-14/data/postgresql.conf и меняем параметр:
stats_temp_directory = '/var/lib/pgsql_tmp'
После успешной настройки перезагружаем службу:
# systemctl restart postgrespro-1c-14.service
Подключение информационной базы 1С к серверу PostgreSQL
Заходим на сервер, где расположена консоль администрирования сервера 1С.
Правой кнопкой мыши нажать на “Информационные базы (Далее ИБ)” > “Создать” > “ИБ”. Заполняем поля:
- Имя – Test (Как будет называться ИБ).
- Сервер баз данных: 192.168.74.128 (Адрес нашего сервера postgresql).
- Тип СУБД: PostgreSQL.
- База данных: Test (как будет называться БД в СУБД).
- Пользователь сервера БД: postgres.
- Пароль пользователя БД: postgrespwd.
- Если базы нет, то еще поставить “Создать базу данных с случае ее отсутствия”.
Подключаем ИБ для запуска 1С:Предприятия. Заходим в 1С:Предприятие, нажимаем “Добавить”. Ставим “Добавление в список существующей ИБ”. Указываем наименование ИБ. Ставим “На сервере 1С:Предприятия”.
- Кластер серверов: localhost (Адрес где находится сервер 1С).
- Имя ИБ: Test (Имя которое мы задавали в оснастке).
Мы добавили ИБ для запуска, можно заходить в конфигуратор и загружать имеющую конфигурацию.
Мы провели успешно установку сервера PostgreSQL на Debian 11.