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

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

Какая версия PostgreSQL нужна для 1С

Какую версию PostgreSQL выбрать для работы с 1С: совместимость с платформой 8.3, сборки PostgresPro и 1С, настройка параметров, типичные ошибки и FAQ.

Для клиент-серверной работы 1С:Предприятие с PostgreSQL недостаточно поставить «последний» дистрибутив СУБД с официального сайта. Платформа 1С поддерживает строго ограниченный набор версий PostgreSQL для каждого релиза платформы, и нарушение этого правила приводит либо к отказу в создании базы, либо к нестабильной работе, которую сложно диагностировать.

Кроме номера версии важна сборка. Официально 1С поддерживает специальные патченные сборки PostgreSQL, которые публикуются на портале 1С и в рамках линейки Postgres Pro с поддержкой 1С. Ванильная сборка с postgresql.org может запуститься, но гарантий корректной работы механизмов платформы (блокировки, полнотекстовый поиск, работа с датами и типами) она не даёт.

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

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

Первый и главный критерий — версия технологической платформы 1С:Предприятие, а не конфигурации. Конфигурация (Бухгалтерия, Управление торговлей, ERP) работает поверх платформы, и именно платформа взаимодействует с СУБД. Узнать версию платформы можно в конфигураторе через меню «Справка — О программе» или в клиентском приложении.

Далее откройте документ «Системные требования» для вашего релиза платформы — он публикуется на портале 1С (portal.1c.ru) в разделе с дистрибутивами. В нём перечислены поддерживаемые версии PostgreSQL. Общая закономерность: свежие релизы 8.3.20+ поддерживают PostgreSQL 13–16, релизы 8.3.16–8.3.19 — версии 11–13, более ранние платформы — 9.6–11. Точную матрицу всегда проверяйте по документации именно вашего релиза.

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

Маршрут решения

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

Платформа 8.3.20 и новееБерите PostgreSQL 14–16 из сборки 1С или Postgres Pro
Платформа 8.3.16–8.3.19Используйте PostgreSQL 12–13 из рекомендованной сборки
Платформа старше 8.3.16Рассмотрите PostgreSQL 11–12 и спланируйте обновление платформы
Точной матрицы под рукой нетОткройте системные требования вашего релиза на портале 1С и сверьте список

Какую сборку PostgreSQL ставить: 1С, Postgres Pro или ванильную

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

Первая — «1С:СУБД PostgreSQL», патченные сборки, которые публикуются на портале 1С для Windows и Linux. Они бесплатны для пользователей с действующим договором 1С:ИТС и точно соответствуют требованиям платформы. Вторая — Postgres Pro Standard и Postgres Pro Enterprise от компании Postgres Professional: заявлена сертифицированная совместимость с 1С, плюс дополнительные возможности (улучшенный планировщик, инструменты мониторинга). Postgres Pro — коммерческий продукт, но его часто выбирают для нагруженных баз.

Ванильная сборка с postgresql.org технически может работать с платформой 8.3, и многие так делают в тестовых средах. Но при обращении в поддержку 1С с проблемой на такой сборке первым требованием будет переход на поддерживаемую. Для продуктивной базы, где хранятся учётные данные, экономия на этом шаге не оправдана.

Сравнение сборок PostgreSQL для 1С

1С:PostgreSQL (патченная сборка с портала 1С)

Официально поддерживается, бесплатна при наличии ИТС. Подходит большинству внедрений. Обновления выходят с задержкой относительно апстрима.

Postgres Pro Standard / Enterprise

Сертифицированная совместимость с 1С, расширенные инструменты производительности и мониторинга. Платная лицензия, оправдана для крупных и нагруженных баз.

Ванильный PostgreSQL с postgresql.org

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

Установка и первичная настройка под 1С

После выбора версии и сборки установите СУБД на отдельный сервер или на тот же сервер, где работает сервер 1С (допустимо для небольших баз). При установке задайте локаль, соответствующую языку базы — для русскоязычных баз обычно ru_RU.UTF-8 на Linux. Смена локали после создания кластера требует пересоздания, поэтому проверьте её сразу.

Параметры postgresql.conf под 1С отличаются от дефолтных: стандартные значения рассчитаны на слабое оборудование и занижены. Минимальный набор настроек, который стоит проверить после установки, приведён ниже. Точные значения зависят от объёма оперативной памяти сервера.

Порядок установки и настройки
  1. 1
    Скачайте патченную сборку PostgreSQL с портала 1С или дистрибутив Postgres Pro выбранной версии
  2. 2
    Установите СУБД, задайте локаль ru_RU.UTF-8 (Linux) и пароль суперпользователя postgres
  3. 3
    Отредактируйте postgresql.conf: shared_buffers, work_mem, effective_cache_size, max_connections
  4. 4
    Перезапустите службу PostgreSQL и убедитесь, что она стартует без ошибок
  5. 5
    Создайте информационную базу через консоль кластера серверов 1С, указав тип СУБД PostgreSQL
  6. 6
    Проверьте, что база создалась, и выполните тестовую загрузку данных или dt-выгрузку

Ориентировочные стартовые значения для сервера с 16 ГБ ОЗУ: shared_buffers — около четверти памяти (4 ГБ), effective_cache_size — половина-две трети памяти, work_mem — 32–64 МБ, maintenance_work_mem — 512 МБ–1 ГБ. Не копируйте эти цифры вслепую: при большом числе соединений завышенный work_mem приведёт к нехватке памяти.

bash
# Проверка версии и локали кластера
psql -U postgres -c "SELECT version();"
psql -U postgres -c "SHOW lc_collate;"
# Ключевые параметры
psql -U postgres -c "SHOW shared_buffers;"
psql -U postgres -c "SHOW work_mem;"

Настройки, критичные именно для платформы 1С

Помимо общих параметров памяти, для 1С важны несколько специфических настроек. Во-первых, параметр standard_conforming_strings должен быть включён (это значение по умолчанию в современных версиях). Во-вторых, в некоторых сборках рекомендуют отключать escape_string_warning. В-третьих, для баз с полнотекстовым поиском проверьте наличие нужных словарей и расширений.

Обратите внимание на параметр max_connections. Сервер 1С открывает по несколько соединений на рабочий процесс, поэтому суммарное число подключений может заметно превышать число пользователей. Значение 100 по умолчанию часто оказывается недостаточным для баз с 30–50 активными пользователями. Увеличивайте max_connections с учётом того, что каждое соединение потребляет память.

Для больших баз критична настройка autovacuum: на активно изменяемых таблицах 1С (регистры накопления, сведений) стандартные пороги автовакуума срабатывают слишком редко, что ведёт к раздуванию таблиц и деградации производительности. Для таких баз настраивают более агрессивный autovacuum или регулярный VACUUM ANALYZE по расписанию в нерабочие часы.

Проверка работоспособности связки 1С + PostgreSQL

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

Затем проверьте типовые операции: проведение документов, формирование отчётов, работу полнотекстового поиска (если он используется). Медленное выполнение простых операций на пустой базе — признак проблем с настройками СУБД или с тем, что сборка не соответствует платформе.

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

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

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

База создаётся без ошибок, конфигуратор открывается

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

Ошибка «тип данных не поддерживается» или отказ в создании — несовпадение версии/сборки

Загрузка dt-выгрузки
Норма

Загрузка завершается штатно, данные на месте

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

Ошибки на этапе загрузки таблиц — несовместимость версий

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

Операции выполняются за ожидаемое время

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

Резкие «подвисания» даже на малой нагрузке — проверяйте настройки памяти и autovacuum

Полнотекстовый поиск
Норма

Индекс строится, поиск находит данные

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

Ошибки построения индекса — не хватает компонентов сборки

Обновление PostgreSQL на действующей базе 1С

Обновление мажорной версии PostgreSQL (например, с 12 на 14) на базе 1С требует плановой процедуры. Стандартный путь: выгрузить базу через dump/restore (pg_dump старой версии, восстановление в новый кластер) или использовать pg_upgrade, если сборка это поддерживает. Перед любым обновлением сделайте полную резервную копию и проверьте её восстановление на тестовом стенде.

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

Типичные ошибки при выборе и настройке

Типичные ошибки
01
Установка последней версии PostgreSQL без проверки матрицы совместимости — база не создаётся или падает с ошибками при работе
02
Использование ванильной сборки на продуктиве — отказ в поддержке и риск труднодиагностируемых сбоев
03
Оставление дефолтных shared_buffers и work_mem — 1С работает медленно даже на мощном сервере
04
Игнорирование autovacuum — таблицы регистров раздуваются, запросы деградируют за недели
05
Смена локали или версии СУБД «на живую» без бэкапа — риск потери данных и долгого восстановления

Отдельная частая ситуация — смешение версий клиентских библиотек. Сервер 1С использует libpq для подключения к PostgreSQL, и если на сервере 1С установлена старая версия библиотеки, возможны ошибки подключения к новой СУБД. Держите версии клиентских библиотек в соответствии с версией сервера СУБД.

Итог

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

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

Частые вопросы

Подойдёт ли PostgreSQL 16 для платформы 8.3.22?

Для свежих релизов платформы 8.3 новые версии PostgreSQL, как правило, входят в список поддерживаемых, но точный ответ даёт только документ «Системные требования» вашего конкретного релиза на портале 1С. Если версии 16 там нет — используйте максимальную из перечисленных.

Можно ли использовать ванильный PostgreSQL с postgresql.org?

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

Что лучше для 1С: PostgreSQL или MS SQL Server?

Обе СУБД официально поддерживаются. PostgreSQL выигрывает в стоимости лицензий (особенно сборка 1С), MS SQL — в зрелости инструментов администрирования и привычности для Windows-инфраструктуры. На типовых нагрузках разница в производительности чаще определяется качеством настройки, а не выбором СУБД.

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

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

Сколько памяти выделить PostgreSQL под базу 1С?

Универсальной цифры нет: ориентируйтесь на shared_buffers около 25% оперативной памяти сервера и effective_cache_size 50–75%. Для сервера с 16 ГБ это примерно 4 ГБ и 8–12 ГБ соответственно. Дальше параметры подбирают по фактической нагрузке и мониторингу.

Почему база 1С на PostgreSQL со временем начинает тормозить?

Наиболее частая причина — раздувание таблиц из-за недостаточно агрессивного autovacuum на активно изменяемых регистрах. Проверьте размер таблиц, настройте autovacuum или регулярный VACUUM ANALYZE, а также убедитесь, что статистика обновляется после массовых загрузок данных.