Администрирование · 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 из списка поддерживаемых вашей платформой, но не выходите за его пределы. Более новая версия обычно быстрее и получает обновления безопасности дольше, но неподдерживаемая версия может выдать ошибку при создании информационной базы или при обновлении конфигурации.
Как выбрать версию
Какую сборку 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С, расширенные инструменты производительности и мониторинга. Платная лицензия, оправдана для крупных и нагруженных баз.
Не поддерживается официально. Допустим для экспериментов и тестовых стендов, рискован для продуктивной базы.
Установка и первичная настройка под 1С
После выбора версии и сборки установите СУБД на отдельный сервер или на тот же сервер, где работает сервер 1С (допустимо для небольших баз). При установке задайте локаль, соответствующую языку базы — для русскоязычных баз обычно ru_RU.UTF-8 на Linux. Смена локали после создания кластера требует пересоздания, поэтому проверьте её сразу.
Параметры postgresql.conf под 1С отличаются от дефолтных: стандартные значения рассчитаны на слабое оборудование и занижены. Минимальный набор настроек, который стоит проверить после установки, приведён ниже. Точные значения зависят от объёма оперативной памяти сервера.
- 1Скачайте патченную сборку PostgreSQL с портала 1С или дистрибутив Postgres Pro выбранной версии
- 2Установите СУБД, задайте локаль ru_RU.UTF-8 (Linux) и пароль суперпользователя postgres
- 3Отредактируйте postgresql.conf: shared_buffers, work_mem, effective_cache_size, max_connections
- 4Перезапустите службу PostgreSQL и убедитесь, что она стартует без ошибок
- 5Создайте информационную базу через консоль кластера серверов 1С, указав тип СУБД PostgreSQL
- 6Проверьте, что база создалась, и выполните тестовую загрузку данных или dt-выгрузку
Ориентировочные стартовые значения для сервера с 16 ГБ ОЗУ: shared_buffers — около четверти памяти (4 ГБ), effective_cache_size — половина-две трети памяти, work_mem — 32–64 МБ, maintenance_work_mem — 512 МБ–1 ГБ. Не копируйте эти цифры вслепую: при большом числе соединений завышенный work_mem приведёт к нехватке памяти.
# Проверка версии и локали кластера
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
После создания базы проверьте не только факт подключения, но и работу ключевых механизмов. Выполните тестирование и исправление информационной базы в конфигураторе в режиме проверки логической целостности — это выявит проблемы с типами данных и индексами на старте, а не в разгар работы пользователей.
Затем проверьте типовые операции: проведение документов, формирование отчётов, работу полнотекстового поиска (если он используется). Медленное выполнение простых операций на пустой базе — признак проблем с настройками СУБД или с тем, что сборка не соответствует платформе.
Как проверить результат
База создаётся без ошибок, конфигуратор открывается
Ошибка «тип данных не поддерживается» или отказ в создании — несовпадение версии/сборки
Загрузка завершается штатно, данные на месте
Ошибки на этапе загрузки таблиц — несовместимость версий
Операции выполняются за ожидаемое время
Резкие «подвисания» даже на малой нагрузке — проверяйте настройки памяти и autovacuum
Индекс строится, поиск находит данные
Ошибки построения индекса — не хватает компонентов сборки
Обновление PostgreSQL на действующей базе 1С
Обновление мажорной версии PostgreSQL (например, с 12 на 14) на базе 1С требует плановой процедуры. Стандартный путь: выгрузить базу через dump/restore (pg_dump старой версии, восстановление в новый кластер) или использовать pg_upgrade, если сборка это поддерживает. Перед любым обновлением сделайте полную резервную копию и проверьте её восстановление на тестовом стенде.
Учитывайте, что версия PostgreSQL должна оставаться в списке поддерживаемых вашей платформой. Иногда обновление СУБД требует предварительного обновления платформы 1С — планируйте эти работы вместе. После миграции обязательно выполните ANALYZE по всей базе: статистика не переносится и без неё планировщик будет строить неэффективные планы запросов.
Типичные ошибки при выборе и настройке
Отдельная частая ситуация — смешение версий клиентских библиотек. Сервер 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, а также убедитесь, что статистика обновляется после массовых загрузок данных.