При администрировании серверной инфраструктуры 1С системные администраторы часто сталкиваются с вопросами совместимости различных версий технологической платформы, систем управления базами данных (СУБД) и операционных систем. Типичный сценарий — развертывание или поддержка уже существующего сервера на базе платформы 1С:Предприятие 8.3.15.1830, СУБД PostgreSQL и операционной системы Ubuntu 14.04 LTS.
В этой статье мы подробно разберем, запустится ли данная конфигурация, какие версии PostgreSQL являются рекомендованными для платформы 8.3.15, с какими подводными камнями можно столкнуться при использовании устаревшей ОС Ubuntu 14 и как правильно настроить систему для обеспечения максимальной производительности и стабильности.
Выясним, как соотносятся версии платформы 1С и СУБД PostgreSQL согласно официальным техническим регламентам вендора. На практике совместимость платформ и баз данных выглядит следующим образом:
Проанализировав эти данные, мы можем сделать однозначный вывод: платформа 1С:Предприятие 8.3.15.1830 будет успешно и стабильно работать как на PostgreSQL 9.6, так и на более производительной версии PostgreSQL 10. При этом версия 10 является предпочтительной, так как она содержит внутренние оптимизации СУБД, которые положительно сказываются на скорости выполнения запросов.
Разберем критически важный нюанс, о котором часто забывают начинающие администраторы. Стандартная («ванильная») сборка PostgreSQL, доступная в официальных репозиториях СУБД или операционной системы, не сможет корректно работать с сервером 1С:Предприятие. При попытке создать информационную базу на такой СУБД система выдаст ошибку еще на этапе инициализации в Конфигураторе.
Это связано с тем, что платформе 1С требуются специфические доработки ядра СУБД. В частности, необходимы патчи для поддержки блокировок APPLICATION SHARE и APPLICATION EXCLUSIVE, а также для корректной работы внутреннего менеджера блокировок 1С. Для успешной установки нам необходимо использовать одну из специализированных сборок:
postgresql-9.6.x-x.1C или postgresql-10.x-x.1C.Рассмотрим подробнее, почему связка 1С 8.3.15 и PostgreSQL является зрелым решением. Начиная с версий 8.3.13–8.3.15, разработчики технологической платформы внесли глубокие архитектурные изменения в механизмы взаимодействия с СУБД PostgreSQL:
Теперь проанализируем ситуацию со стороны операционной системы. Использование Ubuntu 14.04 LTS в современных реалиях накладывает серьезные ограничения:
Период стандартной поддержки ОС давно завершен. Это означает, что официальные репозитории операционной системы больше не получают обновлений безопасности и обновлений пакетов.
При попытке развернуть СУБД PostgreSQL 10 или даже 9.6 вы гарантированно столкнетесь с проблемой несовместимости системных библиотек. Современные сборки PostgreSQL могут требовать более новые версии библиотек, таких как glibc, openssl или libicu (необходима для корректной работы с локалями и сортировкой), которых просто нет в штатных репозиториях Ubuntu 14.
Для решения этой проблемы вам придется либо собирать СУБД из исходных кодов с ручным указанием путей к новым библиотекам, либо подключать сторонние PPA-репозитории, что крайне не рекомендуется для продуктивных (продакшн) серверов из-за рисков нарушения стабильности системы.
Рекомендация: Для долгосрочной, безопасной и стабильной работы настоятельно советуем выполнить обновление операционной системы сервера приложений 1С и СУБД хотя бы до версии Ubuntu 18.04 LTS или Ubuntu 20.04 LTS. Это избавит вас от проблем с поиском зависимостей и обеспечит поддержку современного серверного оборудования.
Если вам все же необходимо запустить систему в текущих условиях, разберем по шагам процесс диагностики и развертывания:
Шаг 1. Подготовка и установка зависимостей. Перед установкой СУБД убедитесь, что в системе установлены необходимые библиотеки для локализации. Например, для корректной работы сортировки в 1С требуется наличие русской локали:
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
Шаг 2. Установка специализированной СУБД. Скачайте дистрибутив Postgres Pro 1C или сборку от 1С для Ubuntu 14. Установите пакеты СУБД с помощью пакетного менеджера:
sudo dpkg -i postgrespro-1c-10_10.x.x-1.ubuntu14_amd64.deb
Шаг 3. Инициализация и настройка СУБД. Инициализируйте кластер баз данных с поддержкой UTF-8 и правильной локали:
sudo /opt/pgpro/1c-10/bin/pg-setup initdb --locale=ru_RU.UTF-8
Шаг 4. Проверка работы сервера приложений 1С. Запустите службу сервера 1С:Предприятие 8.3.15.1830:
sudo service srv1cv83 start
Шаг 5. Создание базы данных и проверка совместимости. Откройте Конфигуратор 1С:Предприятия на клиентской машине, выберите пункт создания новой информационной базы на сервере. Задайте параметры подключения к созданному серверу СУБД PostgreSQL.
Как совершенно верно отметили участники обсуждения на форуме, если в процессе сопряжения версий возникнут критические несовместимости (например, отсутствие необходимых табличных функций или несоответствие внутренней структуры хранения данных), ругань и вывод диагностических сообщений об ошибках произойдут непосредственно на этапе работы Конфигуратора при попытке инициализации таблиц базы данных. Если база успешно создалась и конфигурация загрузилась — связка работоспособна.
Таким образом, мы выяснили, что платформа 1С 8.3.15.1830 технически полностью готова к работе с PostgreSQL 9.6 и 10, однако главным ограничивающим фактором в данной схеме выступает устаревшая операционная система Ubuntu 14, требующая повышенного внимания к системным зависимостям.