При развертывании серверной версии 1С:Предприятие 8.3.12 системные администраторы часто сталкиваются с дилеммой выбора версии системы управления базами данных (СУБД). С одной стороны, всегда хочется использовать более современные версии, такие как PostgreSQL 10 или 11, с другой — существуют жесткие ограничения совместимости, продиктованные архитектурой платформы. Разберем подробно, почему для версии 8.3.12 выбор ограничен и как правильно настроить среду на ОС Ubuntu.
Рассмотрим ситуацию, описанную в документации к релизу 10.3_3.1C: поддержка этой версии реализована только начиная с платформы 8.3.13. Попытка запустить 8.3.12 на десятой версии PostgreSQL может показаться успешной на первый взгляд, но проанализируем технические риски. В PostgreSQL 10 произошли существенные изменения в структуре системных каталогов и механизме работы с последовательностями (sequences). Платформа 8.3.12 «не знает» о новом синтаксисе и структуре таблиц метаданных СУБД.
Основные риски использования неподдерживаемой версии 10.x:
Для платформы 8.3.12-1595 единственно верным и стабильным решением является ветка 9.6. Выясним, какую именно минорную версию выбрать. Хотя в обсуждениях упоминается 9.6.7, на текущий момент целесообразно ориентироваться на финальные релизы этой ветки, например, 9.6.22-1.1C.
Использование PostgreSQL 9.6 гарантирует:
При установке PostgreSQL 9.6 на современные дистрибутивы Ubuntu (18.04, 20.04 и выше) часто возникает ошибка «неразрешенных зависимостей». Проанализируем причину: чаще всего пакеты от 1С требуют старые версии библиотеки libicu (например, версии 52, 55 или 60), которые уже исключены из репозиториев свежих версий ОС.
Разберем по шагам, как решить эту проблему:
dpkg -i.libicu вручную из архивов репозиториев предыдущих версий Ubuntu (например, Xenial).
sudo dpkg -i libicu55_55.1-7ubuntu0.5_amd64.deb
Вместо «ванильных» сборок с сайта 1С, рассмотрим вариант использования Postgres Pro Standard (специальная редакция для 1С). Для нашей платформы 8.3.12 подойдет версия Postgres Pro 9.6. Преимущества этого решения:
Для обеспечения стабильности работы 1С на Ubuntu крайне важно выполнить правильную конфигурацию файла postgresql.conf. Рассмотрим наиболее значимые параметры:
1. Параметр standard_conforming_strings
В старых конфигурациях и при работе с платформой 8.3.12 этот параметр должен быть установлен в значение on. Это гарантирует, что обратные слэши в строках будут обрабатываться как обычные символы, что критично для корректного формирования SQL-запросов платформой.
2. Настройка памяти
Для сервера на Linux автоматические настройки по умолчанию неэффективны. Проанализируем необходимые изменения:
shared_buffers: Установите значение, равное примерно 25% от общего объема оперативной памяти сервера.effective_cache_size: Установите значение в размере 50-75% от общего объема ОЗУ.work_mem: Рассчитывается индивидуально, но обычно начинают с 16MB или 32MB для предотвращения записи временных данных на диск при сортировке.Пример настройки в файле конфигурации:
# Основные параметры для 1С
shared_buffers = 4GB # Если на сервере 16GB
effective_cache_size = 12GB
standard_conforming_strings = on
escape_string_warning = off
max_locks_per_transaction = 1000
Важно помнить, что и платформа 8.3.12, и PostgreSQL 9.6 на сегодняшний день имеют статус End of Life (EOL). Это означает, что для них больше не выпускаются обновления безопасности. Разберем, как минимизировать риски:
pg_dump и бэкапов на уровне файловой системы становится первоочередной задачей.Подведем итог: если вы ограничены использованием платформы 8.3.12-1595 на Ubuntu, вашим выбором должна стать PostgreSQL 9.6 (желательно последней доступной сборки от Postgres Pro или 1С). Не забудьте про установку libicu и специфические настройки standard_conforming_strings для обеспечения стабильной работы системы.