Администрирование · 11 мин
Какую версию PostgreSQL выбрать для 1С 8.3
Как выбрать версию PostgreSQL для 1С 8.3: совместимость с платформой, сборки PostgresPro и 1С, настройка, ошибки и проверка результата. Практическое руководство.
1С:Предприятие 8.3 работает не с любым PostgreSQL, а только со сборками, в которые встроены патчи совместимости: это либо дистрибутив от фирмы «1С» (1C:PostgreSQL), либо Postgres Pro Standard / Certified. Обычный «ванильный» PostgreSQL с официального сайта postgresql.org платформа 1С не примет — при создании базы вы получите ошибку о несовместимости типов или отсутствии нужных функций. Поэтому вопрос «какую версию выбрать» всегда начинается с выбора сборки, а уже потом — номера версии.
Второй ограничитель — версия самой платформы 1С. Каждый релиз платформы сертифицирован на работу с определённым диапазоном версий PostgreSQL. Например, старые платформы 8.3.8–8.3.12 корректно работали с PostgreSQL 9.4–9.6, платформы 8.3.15–8.3.20 — с версиями 9.6–12, а актуальные релизы 8.3.21 и новее поддерживают PostgreSQL 12–15 и выше. Точную матрицу совместимости нужно сверять с системными требованиями вашего релиза платформы на портале 1С, потому что несовпадение даже на одну мажорную версию может привести к ошибкам при создании информационной базы или к скрытым проблемам в работе.
Практическое правило: выбирайте максимально свежую версию PostgreSQL из тех, что официально поддерживаются вашей платформой 1С, но не новее её. Это даёт лучшую производительность планировщика запросов, более качественный автовакуум и актуальные исправления безопасности, не выходя за рамки сертифицированной совместимости.
Какие сборки PostgreSQL вообще подходят для 1С
Платформа 1С использует специфические типы данных и функции, которых нет в стандартном PostgreSQL: в частности, особую работу с типом mvarchar, специфическое поведение при сравнении строк и ряд внутренних механизмов. Поэтому «1С» совместно с сообществом поддерживает патчи, которые накладываются на исходный код PostgreSQL перед сборкой.
На практике доступны три варианта. Первый — 1C:PostgreSQL, готовые пакеты с портала releases.1c.ru, бесплатные для пользователей с действующим договором ИТС. Второй — Postgres Pro Standard или Certified от компании Postgres Professional, коммерческий продукт с технической поддержкой и расширенными возможностями (мультимастер, компрессия, улучшенный планировщик). Третий — самостоятельная сборка из исходников с наложением патчей 1С: рабочий, но трудоёмкий путь, требующий навыков компиляции и самостоятельного сопровождения.
Сравнение вариантов сборок
Бесплатно при наличии ИТС, гарантированная совместимость, готовые пакеты под Windows и Linux. Ограничение: обновления выходят с задержкой относительно апстрима.
Платная лицензия, техподдержка, дополнительные механизмы производительности и отказоустойчивости. Подходит для крупных баз и требований к сертификации.
Полный контроль над версией, но нужно самостоятельно собирать, тестировать и обновлять. Не рекомендуется без опыта администрирования PostgreSQL.
Как определить совместимую версию для вашей платформы
Откройте документ «Системные требования» для вашего релиза платформы на портале portal.1c.ru или в документации к дистрибутиву. В разделе про СУБД будет указан перечень поддерживаемых версий PostgreSQL. Это единственный достоверный источник: форумы и статьи часто содержат устаревшие данные для других релизов.
Узнать текущую версию платформы можно в конфигураторе: меню «Справка» → «О программе». Там же видно разрядность — важно, чтобы разрядность сервера 1С и PostgreSQL совпадала по архитектуре (обе x64), хотя сам PostgreSQL может работать и на отдельном сервере.
- 1Узнайте точный релиз платформы 1С (Конфигуратор → Справка → О программе).
- 2Откройте системные требования этого релиза на портале 1С и найдите список поддерживаемых версий PostgreSQL.
- 3Выберите максимальную версию из списка, для которой есть готовая сборка 1C:PostgreSQL или Postgres Pro.
- 4Проверьте разрядность: сервер 1С и PostgreSQL должны быть x64.
- 5Скачайте дистрибутив только с официального источника: releases.1c.ru или сайт Postgres Professional.
Рекомендации по выбору для типовых сценариев
Новое внедрение, платформа 8.3.21 и новее
Берите PostgreSQL 14 или 15 в сборке 1С или Postgres Pro — если они входят в список поддерживаемых для вашего релиза. В этих версиях заметно улучшен планировщик запросов, параллельное выполнение операций и работа с индексами, что напрямую влияет на скорость проведения документов и построения отчётов в 1С. Ставить PostgreSQL 9.6 на новое внедрение нет смысла: вы получите устаревшую ветку без исправлений безопасности.
Существующая база на старой платформе (8.3.10–8.3.16)
Здесь работает обратное правило: не обновляйте PostgreSQL выше диапазона, сертифицированного для платформы. Если платформа 8.3.12 поддерживает максимум PostgreSQL 9.6, переход на 11-ю версию без обновления платформы может вызвать ошибки в запросах, которые 1С генерирует в расчёте на старое поведение СУБД. Правильная последовательность — сначала обновить платформу, протестировать, и только потом мигрировать СУБД.
Высоконагруженная база от 100 ГБ и десятки пользователей
Для крупных баз имеет смысл рассмотреть Postgres Pro Standard: в нём есть механизмы, снижающие раздувание таблиц (и как следствие — деградацию скорости), улучшенная работа с большими индексами и инструменты диагностики. На таких объёмах разница между версиями PostgreSQL тоже ощутима: переход с 9.6 на 13+ часто даёт ускорение тяжёлых отчётов без изменения кода конфигурации.
Установка и ключевые настройки после выбора версии
После установки PostgreSQL для 1С обязательна настройка конфигурации — параметры по умолчанию рассчитаны на слабое оборудование и дадут низкую производительность. В файле postgresql.conf как минимум корректируются: shared_buffers (обычно 25% оперативной памяти сервера), work_mem, maintenance_work_mem, effective_cache_size (около 50–75% RAM), max_connections с запасом под рабочие процессы 1С.
Критично правильно задать локаль при создании кластера: для 1С требуется русская локаль (например, ru_RU.UTF-8 на Linux или Russian_Russia.1251 на Windows в зависимости от сборки). Если кластер инициализирован с неправильной локалью, сортировка и сравнение строк в 1С будут работать некорректно, а исправить это можно только пересозданием кластера с выгрузкой всех баз.
# Пример инициализации кластера с нужной локалью (Linux)
/usr/pgsql-14/bin/initdb -D /var/lib/pgsql/14/data --locale=ru_RU.UTF-8 --encoding=UTF8
# Проверка версии и сборки после запуска
psql -c "SELECT version();"После настройки создайте базу через консоль кластера серверов 1С, а не напрямую в psql: платформа сама создаст нужные структуры и расширения. Прямое создание базы в обход консоли кластера — частый источник ошибок «база не найдена» и проблем с правами.
Как проверить, что версия выбрана и настроена правильно
Первый признак корректного выбора — информационная база создаётся через консоль кластера без ошибок, а конфигуратор открывает её и позволяет выполнить тестирование и исправление. Второй этап — нагрузочная проверка: проведение крупных документов, перепроведение периода, построение тяжёлых отчётов. Время выполнения не должно деградировать по мере работы — если отчёты с каждым днём медленнее, проблема обычно в настройках автовакуума, а не в версии.
Полезно проверить логи PostgreSQL: ошибки вида «could not serialize access», частые deadlock или сообщения о нехватке shared memory указывают на необходимость перенастройки параметров. Саму версию и сборку можно увидеть запросом SELECT version(); — в выводе должно присутствовать упоминание 1C или Postgres Pro.
Как проверить результат
База создаётся без ошибок, конфигуратор открывается
Ошибка о несовместимости типов или отказ в создании — неверная сборка или версия
В строке версии есть пометка 1C или Postgres Pro
Чистый PostgreSQL без патчей — 1С рано или поздно выдаст ошибку
Время выполнения стабильно
Постоянная деградация — проверяйте autovacuum и настройки памяти
Нет повторяющихся ошибок сериализации и нехватки памяти
Регулярные deadlock и ошибки — нужна перенастройка конфигурации
Типичные ошибки при выборе и обновлении
Самая распространённая ошибка — установка ванильного PostgreSQL с официального сайта. На старте всё может даже заработать, но при создании базы или первой же интенсивной работе появятся ошибки типов данных. Вторая ошибка — обновление PostgreSQL мимо платформы: администратор ставит новую СУБД, не проверив, поддерживает ли её текущий релиз 1С.
Третья группа ошибок связана с миграцией: перенос базы между мажорными версиями PostgreSQL делается через pg_upgrade или выгрузку/загрузку (dump/restore или dt), а не копированием каталога данных. Копирование файлов кластера между разными мажорными версиями гарантированно приводит к неработоспособной базе.
FAQ
Подойдёт ли PostgreSQL с официального сайта postgresql.org для 1С 8.3?
Нет. Платформа 1С требует специальные патчи, которых нет в стандартной поставке. Используйте сборку 1C:PostgreSQL с портала releases.1c.ru, Postgres Pro или самостоятельно собранный PostgreSQL с патчами 1С.
Какая версия PostgreSQL оптимальна для платформы 8.3.22?
Ориентируйтесь на системные требования конкретного релиза: для свежих платформ 8.3.21+ в список поддерживаемых обычно входят PostgreSQL 12–15. Из этого диапазона выбирайте максимальную версию, для которой есть готовая сборка 1С или Postgres Pro.
Можно ли обновить PostgreSQL без обновления платформы 1С?
Только в пределах диапазона версий, сертифицированного для вашего релиза платформы. Обновление СУБД за пределы этого диапазона без обновления платформы может вызвать ошибки в работе. Правильная последовательность: сначала платформа, потом СУБД.
Чем 1C:PostgreSQL отличается от Postgres Pro?
1C:PostgreSQL — бесплатная сборка с патчами совместимости, доступная при наличии договора ИТС. Postgres Pro — коммерческий продукт с техподдержкой, дополнительными механизмами производительности и сертифицированными версиями. Для небольших баз достаточно 1C:PostgreSQL, для крупных и критичных систем есть смысл рассмотреть Postgres Pro.
Как перенести базу 1С на новую версию PostgreSQL?
Два безопасных способа: выгрузка базы в файл dt через конфигуратор с последующей загрузкой на новом сервере, либо dump/restore средствами PostgreSQL (pg_dump/pg_restore). Перед миграцией сделайте обе копии и сначала проверьте процесс на тестовом стенде.
Нужна ли 64-разрядная версия PostgreSQL?
Да. Для серверной 1С 8.3 используется только 64-разрядный PostgreSQL x64: 32-разрядные версии ограничены по памяти и не поддерживаются современными сборками. Разрядность сервера 1С и СУБД должна совпадать.
Что важно запомнить
Для 1С 8.3 нужен только патченый PostgreSQL: сборка 1С или Postgres Pro. Версию выбирайте как максимальную из диапазона, сертифицированного для вашего релиза платформы, и сверяйтесь с системными требованиями на портале 1С. После установки обязательно настройте postgresql.conf и локаль кластера, а любое обновление выполняйте только после полного резервного копирования и теста на копии базы.