Какую версию PostgreSQL лучше использовать для платформы 1С:Предприятие 8.3.12 на ОС Ubuntu

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При развертывании серверной версии 1С:Предприятие 8.3.12 системные администраторы часто сталкиваются с дилеммой выбора версии системы управления базами данных (СУБД). С одной стороны, всегда хочется использовать более современные версии, такие как PostgreSQL 10 или 11, с другой — существуют жесткие ограничения совместимости, продиктованные архитектурой платформы. Разберем подробно, почему для версии 8.3.12 выбор ограничен и как правильно настроить среду на ОС Ubuntu.

Анализ совместимости: почему PostgreSQL 10 не подходит

Рассмотрим ситуацию, описанную в документации к релизу 10.3_3.1C: поддержка этой версии реализована только начиная с платформы 8.3.13. Попытка запустить 8.3.12 на десятой версии PostgreSQL может показаться успешной на первый взгляд, но проанализируем технические риски. В PostgreSQL 10 произошли существенные изменения в структуре системных каталогов и механизме работы с последовательностями (sequences). Платформа 8.3.12 «не знает» о новом синтаксисе и структуре таблиц метаданных СУБД.

Основные риски использования неподдерживаемой версии 10.x:

  1. Ошибки реструктуризации: При попытке обновить конфигурацию или добавить новый реквизит 1С может выдать критическую ошибку, так как не сможет корректно обратиться к системным таблицам базы данных.
  2. Проблемы с последовательностями: Некорректная генерация идентификаторов объектов, что может привести к дублированию ключей.
  3. Отсутствие патчей: Сборки PostgreSQL для 1С содержат специфические правки планировщика запросов. Для версии 10 под платформу 8.3.12 таких правок просто не существует.

Оптимальный выбор: PostgreSQL 9.6

Для платформы 8.3.12-1595 единственно верным и стабильным решением является ветка 9.6. Выясним, какую именно минорную версию выбрать. Хотя в обсуждениях упоминается 9.6.7, на текущий момент целесообразно ориентироваться на финальные релизы этой ветки, например, 9.6.22-1.1C.

Использование PostgreSQL 9.6 гарантирует:

Решение проблемы зависимостей на Ubuntu

При установке PostgreSQL 9.6 на современные дистрибутивы Ubuntu (18.04, 20.04 и выше) часто возникает ошибка «неразрешенных зависимостей». Проанализируем причину: чаще всего пакеты от 1С требуют старые версии библиотеки libicu (например, версии 52, 55 или 60), которые уже исключены из репозиториев свежих версий ОС.

Разберем по шагам, как решить эту проблему:

  1. Определите, какой именно библиотеки не хватает, запустив команду установки dpkg -i.
  2. Скачайте необходимый пакет libicu вручную из архивов репозиториев предыдущих версий Ubuntu (например, Xenial).
  3. Установите библиотеку командой: sudo dpkg -i libicu55_55.1-7ubuntu0.5_amd64.deb
  4. После этого продолжите установку пакетов PostgreSQL.

Использование Postgres Pro как альтернатива

Вместо «ванильных» сборок с сайта 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 автоматические настройки по умолчанию неэффективны. Проанализируем необходимые изменения:

Пример настройки в файле конфигурации:


# Основные параметры для 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). Это означает, что для них больше не выпускаются обновления безопасности. Разберем, как минимизировать риски:

  1. Изоляция сервера: Постарайтесь вынести сервер СУБД и сервер приложений 1С в отдельный сегмент сети, закрытый от прямого доступа из интернета.
  2. Планирование перехода: Рекомендуем рассмотреть возможность обновления платформы до версии 8.3.15 или выше. Это позволит перейти на PostgreSQL 11 или 12, которые обладают лучшей производительностью и поддерживаются современными версиями ОС Ubuntu без манипуляций с зависимостями.
  3. Резервное копирование: В условиях использования устаревшего ПО регулярное выполнение pg_dump и бэкапов на уровне файловой системы становится первоочередной задачей.

Подведем итог: если вы ограничены использованием платформы 8.3.12-1595 на Ubuntu, вашим выбором должна стать PostgreSQL 9.6 (желательно последней доступной сборки от Postgres Pro или 1С). Не забудьте про установку libicu и специфические настройки standard_conforming_strings для обеспечения стабильной работы системы.

← На главную