К статье
Практический материал

Администрирование · 12 мин

Какую версию PostgreSQL выбрать для 1С

Какую версию PostgreSQL выбрать для 1С: отличия Postgres Pro и ванильной сборки, совместимость с платформой 8.3, настройка, риски и порядок обновления СУБД.

1С:Предприятие работает с PostgreSQL только через специальные сборки, адаптированные под платформу: ванильная версия с официального сайта postgresql.org не подойдёт — платформа просто не создаст на ней информационную базу. Поэтому вопрос «какую версию выбрать» распадается на два: какую сборку взять (Postgres Pro, сборка от 1С или патченная community-версия) и какой номер версии внутри этой сборки использовать.

Ключевое правило: версия СУБД должна входить в список поддерживаемых для вашей версии платформы 1С. Этот список публикуется в системных требованиях на портале 1С и в документации Postgres Pro. Установка более новой или более старой версии PostgreSQL, чем заявлено, приводит к ошибкам создания базы, падениям рабочих процессов или тонким проблемам с производительностью, которые трудно диагностировать.

На практике выбор сводится к трём шагам: определить версию платформы 1С, посмотреть в системных требованиях поддерживаемые версии PostgreSQL и выбрать из них самую свежую стабильную ветку, под которую есть готовая адаптированная сборка. Ниже разберём каждый шаг и типичные ошибки.

Почему обычный PostgreSQL не подходит для 1С

Платформа 1С:Предприятие использует специфические расширения и патчи PostgreSQL: изменённую обработку типов данных, особенности работы с индексами, функции для поддержки механизмов платформы. В стандартной поставке PostgreSQL этих доработок нет, поэтому Конфигуратор и консоль кластера серверов 1С откажутся создавать базу или база будет работать некорректно.

Адаптированные варианты существуют в трёх основных формах: Postgres Pro (коммерческая и сертифицированная версии от компании Postgres Professional), бесплатная сборка Postgres Pro Standard для 1С и сборки PostgreSQL с патчами, которые исторически распространялись через дистрибутивы 1С. Все они основаны на определённой версии «ванильного» PostgreSQL, но содержат необходимые платформе изменения.

Какие сборки PostgreSQL подходят для 1С

Postgres Pro Standard для 1С — бесплатная версия, официально рекомендованная для работы с 1С. Подходит большинству организаций малого и среднего размера. Ограничения касаются в основном расширенных функций Enterprise-уровня, которые для типовых конфигураций обычно не требуются.

Postgres Pro Enterprise — платная версия с расширенными возможностями: улучшенное сжатие, дополнительные механизмы многопоточной обработки, расширенный мониторинг. Имеет смысл для крупных баз (сотни гигабайт и терабайты) и высокой нагрузки, когда стоимость лицензии оправдана экономией на железе и администрировании.

Сборки PostgreSQL с патчами от 1С — исторически доступный вариант, поставлявшийся вместе с дистрибутивами платформы. Сейчас основной рекомендуемый путь — Postgres Pro, но старые патченные сборки всё ещё встречаются в эксплуатации и требуют аккуратного планирования миграции.

Сравнение вариантов

Postgres Pro Standard для 1С

Бесплатен, официально поддерживается, хватает для большинства баз до нескольких сотен гигабайт. Ограничение — нет enterprise-функций сжатия и расширенного мониторинга.

Postgres Pro Enterprise

Для больших нагруженных баз и крупных внедрений. Требует покупки лицензии, экономически оправдан не всегда.

Старые патченные сборки PostgreSQL

Подходят только если уже развёрнуты и работают стабильно. Для новых установок не рекомендуются — планируйте переход на Postgres Pro.

Как сопоставить версию PostgreSQL с версией платформы 1С

Каждая версия платформы 8.3 поддерживает ограниченный набор версий PostgreSQL. Старые релизы платформы работают со старыми ветками СУБД (например, 9.x–10.x), свежие релизы платформы поддерживают ветки 12–16. Точную матрицу совместимости нужно смотреть в системных требованиях на портале 1С для конкретного релиза платформы — она меняется от версии к версии.

Порядок проверки такой: узнайте точный номер релиза платформы (например, 8.3.22.xxxx), откройте системные требования этого релиза, найдите раздел про СУБД и выпишите поддерживаемые версии PostgreSQL. Из них выбирайте самую свежую ветку, для которой доступна стабильная сборка Postgres Pro и которая не помечена как находящаяся в статусе начальной поддержки.

Если планируете обновлять и платформу, и СУБД — обновляйте последовательно: сначала платформу до релиза, поддерживающего новую версию PostgreSQL, затем саму СУБД. Одновременное обновление усложняет диагностику проблем: непонятно, какой из компонентов стал причиной сбоя.

Порядок выбора версии
  1. 1
    Определите точный релиз платформы 1С:Предприятие в кластере серверов
  2. 2
    Откройте системные требования этого релиза на портале 1С
  3. 3
    Выпишите список поддерживаемых версий PostgreSQL
  4. 4
    Выберите самую свежую ветку с готовой стабильной сборкой Postgres Pro
  5. 5
    Проверьте, что выбранная версия поддерживается вашей операционной системой
  6. 6
    Запланируйте тестовое развёртывание на копии базы перед боевой миграцией

Практические рекомендации по выбору конкретной ветки

Для новых установок разумная стратегия — брать предпоследнюю из поддерживаемых веток, если самая свежая поддерживается платформой недавно. Первая волна реальных внедрений обычно выявляет специфические проблемы совместимости, которые исправляются в последующих обновлениях платформы и сборок СУБД. Предпоследняя ветка при этом ещё долго будет получать обновления безопасности.

Для действующих систем правило другое: не обновляйте СУБД без необходимости. Если база работает стабильно на поддерживаемой версии, а срок поддержки ветки ещё не истёк — миграцию можно отложить. Поводами для обновления служат: прекращение поддержки ветки, переход на новый релиз платформы, который старую версию не поддерживает, или проблемы производительности, решаемые в новых версиях.

Учитывайте и операционную систему сервера: готовые пакеты Postgres Pro выпускаются под конкретные дистрибутивы Linux и версии Windows. Перед выбором версии СУБД убедитесь, что под вашу ОС есть актуальная сборка нужной ветки.

Настройка PostgreSQL под 1С после установки

Установка адаптированной сборки — только половина работы. Конфигурация по умолчанию рассчитана на минимальное железо и для 1С не подходит: нужно увеличить объём разделяемой памяти (shared_buffers), настроить рабочую память для операций сортировки (work_mem), параметры фоновой записи и автовакуума. Без этих настроек база будет тормозить даже на мощном сервере.

Типовые ориентиры: shared_buffers — порядка четверти оперативной памяти сервера, effective_cache_size — около половины или двух третей ОЗУ, work_mem подбирается исходя из числа одновременных соединений. Точные значения зависят от объёма базы и профиля нагрузки, поэтому после первоначальной настройки параметры корректируют по данным мониторинга.

Отдельное внимание — локали базы данных. При создании кластера PostgreSQL для 1С важно правильно задать локаль и правила сортировки, иначе возможны ошибки сравнения строк и некорректная сортировка в списках. Изменить локаль существующего кластера без пересоздания нельзя — ошибка на этом этапе означает полную переустановку.

sql
SELECT name, setting, unit FROM pg_settings WHERE name IN ('shared_buffers','work_mem','effective_cache_size','max_connections');

Миграция на новую версию: порядок и проверка результата

Обновление мажорной версии PostgreSQL (например, с 13 на 15) требует выгрузки и загрузки данных: файлы данных между мажорными версиями несовместимы. Используются два пути: классический dump/restore через pg_dump и pg_restore или утилита pg_upgrade, которая работает быстрее на больших базах, но требует аккуратности и тестирования.

Для баз 1С часто применяют альтернативный путь — выгрузку информационной базы в файл .dt средствами Конфигуратора и загрузку в новую базу на новой версии СУБД. Это медленнее на больших базах, но дополнительно проверяет целостность данных механизмами самой платформы.

После миграции обязательно проверьте: база открывается в Конфигураторе и в клиенте, типовые операции (проведение документов, формирование отчётов) выполняются без ошибок, регламентные задания работают, планы запросов не деградировали. Полезно выполнить тестирование и исправление информационной базы и обновить статистику СУБД командой ANALYZE.

Контрольные точки

Как проверить результат

Создание и открытие базы
Норма

База создаётся в консоли кластера и открывается в клиенте без ошибок

Тревожный признак

Ошибки о несовместимости версии СУБД или отказ в создании базы

Проведение документов и отчёты
Норма

Документы проводятся, отчёты формируются за приемлемое время

Тревожный признак

Ошибки SQL, зависания, резкий рост времени выполнения

Мониторинг СУБД
Норма

Автовакуум работает, нет роста числа мёртвых строк и ошибок в журнале

Тревожный признак

Ошибки в логе PostgreSQL, раздувание таблиц, блокировки

Типичные ошибки при выборе и обновлении версии

Самая частая ошибка — попытка установить ванильный PostgreSQL с официального сайта или из стандартных репозиториев дистрибутива. База либо не создаётся, либо работает с ошибками. Второе место занимает установка слишком свежей версии, которую платформа ещё не поддерживает: формально СУБД работает, но платформа отказывается с ней взаимодействовать.

Третья группа ошибок связана с обновлением: миграция без резервной копии, обновление СУБД и платформы одновременно, забытый перенос настроек postgresql.conf в новую версию. В результате после миграции база работает на дефолтной конфигурации и производительность падает в разы.

Типичные ошибки
01
Установка ванильного PostgreSQL вместо адаптированной сборки — база не создаётся или работает с ошибками
02
Выбор версии СУБД, отсутствующей в системных требованиях платформы — отказ в поддержке и непредсказуемые сбои
03
Миграция без проверенной резервной копии — риск потери данных при сбое обновления
04
Потеря настроек postgresql.conf при переезде — резкое падение производительности
05
Неправильная локаль при создании кластера — ошибки сортировки, исправляется только пересозданием
Маршрут решения

Как выбрать действие

Новая установка 1С с нуляБерите Postgres Pro Standard для 1С самой свежей ветки из списка поддерживаемых вашей платформой
База работает стабильно, ветка СУБД ещё поддерживаетсяНичего не меняйте, но запланируйте обновление до окончания срока поддержки ветки
Обновляете платформу 1С на новый релизСначала проверьте, поддерживает ли новый релиз вашу версию PostgreSQL; если нет — планируйте последовательное обновление
База очень большая и высоконагруженнаяРассмотрите Postgres Pro Enterprise и оцените миграцию через pg_upgrade с обязательным тестированием
Версия СУБД вышла из поддержкиПланируйте миграцию в ближайшее время: работа без обновлений безопасности — прямой риск для данных

Ответы на частые вопросы

Можно ли использовать PostgreSQL из стандартных репозиториев Linux?

Нет. Пакеты из репозиториев не содержат патчей, необходимых платформе 1С. Нужна адаптированная сборка — Postgres Pro или патченная версия, совместимая с вашей платформой.

Что лучше для небольшой компании: Postgres Pro Standard или Enterprise?

Для большинства небольших и средних баз достаточно бесплатной версии Postgres Pro Standard для 1С. Enterprise имеет смысл при больших объёмах данных и высокой нагрузке, когда расширенные функции сжатия и производительности окупают лицензию.

Можно ли обновить PostgreSQL без остановки работы пользователей?

Мажорное обновление требует выгрузки и загрузки данных, то есть окна простоя. Сократить простой помогают pg_upgrade, репетиция миграции на копии и тщательная подготовка, но полностью без остановки обновить мажорную версию для базы 1С практически невозможно.

Как узнать, какие версии PostgreSQL поддерживает моя платформа 1С?

Откройте системные требования вашего релиза платформы на портале 1С — там есть раздел про поддерживаемые СУБД с конкретными версиями. Также матрицу совместимости публикует Postgres Professional в документации к своим сборкам.

Что делать, если после обновления СУБД база стала работать медленнее?

Сначала проверьте, перенесены ли настройки postgresql.conf — чаще всего причина в дефолтной конфигурации. Затем выполните обновление статистики (ANALYZE) и сравните планы проблемных запросов. Если деградация сохраняется, анализируйте журналы PostgreSQL и при необходимости откатывайтесь на прежнюю версию по заранее подготовленному плану.

Нужно ли обновлять платформу 1С вместе с PostgreSQL?

Не обязательно одновременно. Обновляйте последовательно: сначала один компонент, проверка стабильности, затем второй. Одновременное обновление затрудняет поиск причины при возникновении проблем.

Итог

Что важно запомнить

Для 1С нужна адаптированная сборка PostgreSQL — чаще всего Postgres Pro. Версию выбирайте строго из списка поддерживаемых вашим релизом платформы, предпочитая свежую, но проверенную ветку. Любую миграцию выполняйте только с проверенной резервной копией и тестированием на копии базы.