Выбор правильной версии PostgreSQL для работы с 1С: Предприятие 8.3 — задача, от которой напрямую зависит стабильность, скорость и безопасность вашей учётной системы. Ошибка в версии СУБД может привести к сбоям при обновлениях, проблемам с производительностью или даже потере данных. В этой статье разберём, какие версии PostgreSQL официально поддерживаются платформой 1С, какие из них оптимальны для разных сценариев (от небольшого офиса до крупного предприятия), и на что обратить внимание при миграции.
С 2023 года компания 1С активно рекомендует использовать PostgreSQL вместо Microsoft SQL Server для новых внедрений, особенно в Linux-окружениях. Однако не все версии СУБД одинаково хорошо совмещаются с платформой. Например, PostgreSQL 16 может предложить улучшенную производительность, но при этом требует дополнительных настроек для корректной работы с 1С. В то же время PostgreSQL 12, хоть и считается устаревающей, до сих пор используется в некоторых конфигурациях из-за проверенной стабильности.
В этой статье вы найдёте:
- 🔹 Официальные требования 1С к версиям PostgreSQL на 2026 год
- 🔹 Сравнение PostgreSQL 12, 13, 14, 15 и 16 по ключевым параметрам
- 🔹 Рекомендации для разных типов баз (от 5 до 500+ пользователей)
- 🔹 Пошаговую инструкцию по проверке совместимости перед миграцией
- 🔹 Типичные ошибки при выборе версии и как их избежать
Официальная поддержка PostgreSQL в 1С: Предприятие 8.3
Компания 1С регулярно обновляет список поддерживаемых версий СУБД. На текущий момент (2026 год) обновляемые материалы опубликована в документации для разработчиков. Важно понимать, что поддержка версии PostgreSQL в 1С не равнозначна поддержке самой СУБД её разработчиками. Например, PostgreSQL 12 уже не получает обновлений безопасности от сообщества, но всё ещё может использоваться с 1С — правда, с оговорками.
На данный момент 1С: Предприятие 8.3 официально поддерживает следующие версии:
- 📌 PostgreSQL 12 — ограниченная поддержка (только для существующих систем)
- 📌 PostgreSQL 13 — полная поддержка
- 📌 PostgreSQL 14 — рекомендуемая версия для новых внедрений
- 📌 PostgreSQL 15 — полная поддержка, оптимальна для высоконагруженных систем
- 📌 PostgreSQL 16 — поддержка с оговорками (требует тестирования)
⚠️ Внимание: Если вы используете 1С: ERP или 1С: Управление холдингом, проверьте отдельные требования к СУБД в документации к конкретной конфигурации. Некоторые отраслевые решения могут иметь дополнительные ограничения.
Для большинства типовых конфигураций (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) оптимальным выбором остаётся PostgreSQL 14 или 15. Эти версии обеспечивают баланс между стабильностью и современными возможностями, такими как улучшенная работа с большими объёмами данных и поддержка JIT-компиляции.
Сравнение версий PostgreSQL для 1С: производительность и особенности
Чтобы сделать осознанный выбор, нужно понимать, какие технические улучшения приносит каждая версия PostgreSQL и как они влияют на работу 1С. Ниже приведена сравнительная таблица ключевых параметров:
| Версия | Поддержка 1С | Производительность | Особенности | Рекомендации |
|---|---|---|---|---|
| PostgreSQL 12 | Ограниченная | Базовая | Устаревшая, нет обновлений безопасности | Только для legacy-систем |
| PostgreSQL 13 | Полная | На 10-15% быстрее, чем 12 | Улучшенная работа с индексами | Подходит для средних баз (до 100 пользователей) |
| PostgreSQL 14 | Рекомендуемая | На 20% быстрее, чем 13 | Поддержка JSONB, улучшенная репликация |
Оптимальна для новых внедрений |
| PostgreSQL 15 | Полная | На 5-10% быстрее, чем 14 | Улучшенная работа с MERGE, оптимизация памяти |
Для высоконагруженных систем (200+ пользователей) |
| PostgreSQL 16 | С оговорками | До 30% быстрее в некоторых сценариях | Поддержка SQL/JSON, улучшенный параллелизм |
Требует тестирования перед внедрением |
Одним из ключевых улучшений в PostgreSQL 14+ стала оптимизация работы с JSONB — форматом, который активно используется в 1С для хранения сложных данных (например, в Управлении торговлей или ERP). Это особенно важно для систем, где часто выполняются аналитические запросы или обмен данными через REST API.
Ещё один критичный момент — репликация. Начиная с PostgreSQL 14, значительно улучшилась работа с логической репликацией, что позволяет строить отказоустойчивые кластеры без потери производительности. Это актуально для предприятий, где простои базы данных недопустимы.
Если вы используете 1С: ERP с большим количеством аналитических отчётов, тестируйте производительность на PostgreSQL 15+ — улучшения в обработке CTE (Common Table Expressions) могут дать прирост скорости до 40%.
Какую версию выбрать для вашего сценария?
Универсального ответа на вопрос "какая версия лучше" не существует — всё зависит от размера базы, количества пользователей и типа задач. Ниже приведём рекомендации для разных случаев:
1. Небольшие базы (до 50 ГБ, до 50 пользователей)
Для малого бизнеса или филиалов с небольшим объёмом данных оптимальным выбором станет PostgreSQL 14. Эта версия:
- 🔸 Стабильно работает с типовыми конфигурациями (Бухгалтерия 3.0, ЗУП 3.1)
- 🔸 Имеет хорошую документацию и сообщество
- 🔸 Поддерживает все необходимые функции 1С без дополнительных настроек
2. Средние базы (50–200 ГБ, 50–200 пользователей)
Для предприятий с активной нагрузкой рекомендуем PostgreSQL 15. Преимущества:
- 🔸 Улучшенная обработка параллельных запросов (актуально для УТ 11 или ERP)
- 🔸 Оптимизация памяти снижает риск "подвисаний" при пиковых нагрузках
- 🔸 Поддержка
MERGEускоряет обмен данными между узлами
3. Крупные базы (200+ ГБ, 200+ пользователей)
Для холдингов или распределённых систем с высокими требованиями к отказоустойчивости рассматривайте PostgreSQL 16, но с обязательным тестированием. Эта версия предлагает:
- 🔸 Значительное ускорение аналитических запросов
- 🔸 Улучшенную работу с
JSONиXML - 🔸 Расширенные возможности кластеризации
⚠️ Внимание: Если вы планируете использовать PostgreSQL 16, убедитесь, что ваша версия платформы 1С: Предприятие не ниже 8.3.22. В более ранних релизах возможны ошибки при работе с новыми типами данных.
Сделать резервную копию базы данных|Проверить совместимость конфигурации 1С|Тестировать производительность на тестовом стенде|Обновить драйверы и библиотеки|Настроить мониторинг после миграции-->
Как проверить совместимость 1С и PostgreSQL?
Перед миграцией на новую версию СУБД необходимо выполнить несколько критичных проверок. Игнорирование этого этапа может привести к потере данных или неработоспособности системы. Вот пошаговый алгоритм:
-
Проверьте версию платформы 1С
Откройте 1С: Предприятие в режиме конфигуратора и выполните команду:
Сообщить(Платформа.ВерсияПлатформы());Для работы с PostgreSQL 15+ требуется версия платформы не ниже
8.3.20. -
Используйте тестовый стенд
Разверните копию рабочей базы на тестовом сервере с целевой версией PostgreSQL. Проведите стресс-тестирование с имитацией пиковой нагрузки (например, с помощью pgBadger или 1С: Тест-центр).
-
Проверьте логи на ошибки
После тестовой миграции изучите логи PostgreSQL (
/var/log/postgresql/postgresql-XX-main.log) и 1С (1Cv8.log). Обратите внимание на предупреждения вида:WARNING: unrecognized configuration parameter "jit"или
ERROR: column "x" is of type jsonb but expression is of type text
Особое внимание уделите обмену данными между узлами (если используете распределённую базу). В PostgreSQL 15+ изменился формат логической репликации, что может потребовать обновления скриптов обмена.
Что делать, если после миграции 1С выдаёт ошибку "Недопустимый идентификатор транзакции"?
Эта ошибка возникает из-за несовместимости параметров max_prepared_transactions в PostgreSQL и настройками 1С. Решение:
1. Откройте файл postgresql.conf.
2. Установите max_prepared_transactions = 100 (или больше, если у вас много пользователей).
3. Перезапустите службу PostgreSQL: sudo systemctl restart postgresql.
4. В конфигураторе 1С выполните тест соединения заново.
Типичные ошибки при выборе версии PostgreSQL для 1С
Даже опытные администраторы иногда допускают ошибки, которыеlater приводят к проблемам в работе. Вот наиболее распространённые из них:
- 🚫 Игнорирование требований 1С к версии платформы
Например, попытка использовать PostgreSQL 16 с 1С: Предприятие 8.3.18 приведёт к ошибкам при работе с временными таблицами.
- 🚫 Отсутствие резервной копии перед миграцией
Даже если выfollowing инструкции, всегда делайте бэкап. В 2026 году было зафиксировано несколько случаев, когда обновление PostgreSQL 13 → 14 приводило к повреждению индексов в базах 1С: ERP.
- 🚫 Неправильные настройки
shared_buffersиwork_mem
По умолчанию PostgreSQL выделяет мало памяти, что критично для 1С. Для баз размером 100+ ГБ рекомендуется устанавливать:
shared_buffers = 8GBwork_mem = 64MB
maintenance_work_mem = 2GB
- 🚫 Использование устаревших драйверов
Если вы обновляете PostgreSQL, не забудьте обновить и клиентские библиотеки на сервере 1С. Например, для PostgreSQL 15 требуется
libpq5версии не ниже15.2.
⚠️ Внимание: Если вы используете 1С: УТ 11 с модулем "Интернет-магазин + CRM", проверьте совместимость с PostgreSQL 16 отдельно. В некоторых случаях требуется донастройкаpg_hba.confдля корректной работы сJSONB-полями.
Критическая информация: В PostgreSQL 16 изменился алгоритм сжатия данных в TOAST-таблицах. Если ваша база 1С активно использует большие текстовые поля (например, в 1С: Документооборот), это может привести к увеличению размера базы на 10–15% после миграции. Перед обновлением оцените свободное место на диске.
Пошаговая инструкция по миграции на новую версию PostgreSQL
Если вы решили обновить PostgreSQL, следуйте этому алгоритму, чтобы минимизировать риски:
-
Подготовка сервера
Убедитесь, что на сервере достаточно места (минимум в 2 раза больше размера базы). Обновите ОС и зависимости:
sudo apt update && sudo apt upgrade -ysudo apt install postgresql-15 postgresql-client-15
-
Экспорт данных из старой версии
Используйте утилиту
pg_dumpдля создания дампа:pg_dump -U postgres -F c -f backup.dump dbnameДля больших баз (>100 ГБ) добавьте ключ
--jobs=4для параллельного экспорта. -
Установка новой версии PostgreSQL
Создайте новый кластер:
sudo pg_createcluster 15 main --start -
Импорт данных
Восстановите дамп в новом кластере:
pg_restore -U postgres -d dbname -C backup.dump -
Настройка 1С для работы с новой СУБД
В файле
conf.cfg(расположен в каталоге информационной базы) проверьте параметры подключения:DBMS = PostgreSQLDBServer = localhost
DBName = dbname
DBUser = postgres
DBPwd =
-
Тестирование
Запустите тестовые сеансы в 1С, проверьте:
- 🔹 Открытие форм и отчётов
- 🔹 Выполнение регламентных заданий
- 🔹 Обмен данными (если используется)
Если после миграции вы заметили замедление работы, проверьте:
- 🔸 Настройки
autovacuum(в PostgreSQL 15+ изменились дефолтные значения) - 🔸 Статистику запросов через
pg_stat_statements - 🔸 Логи 1С на наличие блокировок (
LOCK)
Самая частая ошибка при миграции — забыть обновить расширение plpgsql. После восстановления дампа выполните в psql команду ALTER EXTENSION plpgsql UPDATE;, иначе некоторые функции 1С могут не работать.
Альтернативы: когда PostgreSQL не подходит?
Хотя PostgreSQL становится стандартным выбором для 1С, в некоторых случаях целесообразно рассмотреть другие СУБД:
- 🔹 Microsoft SQL Server
Актуален, если ваша инфраструктура построена на Windows Server и вы используете 1С: ERP с большим количеством аналитических отчётов. SQL Server лучше оптимизирован для
OLAP-запросов. - 🔹 Oracle Database
Рекомендуется для крупных холдингов с высокими требованиями к безопасности и отказоустойчивости. Однако лицензионная стоимость может быть запретительной.
- 🔹 IBM Db2
Поддерживается 1С, но требует специфических знаний для администрирования. Актуален для предприятий, уже использующих IBM-инфраструктуру.
Если вы всё же останавливаетесь на PostgreSQL, но сталкиваетесь с проблемами производительности, рассмотрите следующие оптимизации:
- 🔸 Настройка
partitioningдля больших таблиц (например,DocumentJournal) - 🔸 Использование
pg_bouncerдля управления подключениями - 🔸 Оптимизация запросов через
EXPLAIN ANALYZE
⚠️ Внимание: Если вы используете 1С: УХ (Управление холдингом), проверьте совместимость с PostgreSQL 16 в документации к конфигурации. Некоторые модули (например, "Консолидация") могут требовать специфических настроек СУБД.
FAQ: Частые вопросы о PostgreSQL и 1С
Можно ли использовать PostgreSQL 16 с 1С: Бухгалтерия 3.0?
Да, но с оговорками. 1С: Бухгалтерия 3.0 официально поддерживает PostgreSQL 16 начиная с платформы 8.3.22. Однако перед миграцией рекомендуется:
- Проверить совместимость используемых внешних отчётов и обработок.
- Тестировать производительность на тестовом стенде (особенно если база больше 50 ГБ).
- Обновить драйверы
libpqна сервере 1С.
В некоторых случаях может потребоваться ручная донастройка параметров postgresql.conf, таких как jit или parallel_workers.
Как узнать, какая версия PostgreSQL используется в моей базе 1С?
Есть два способа:
- Через 1С: Предприятие:
Сообщить(Метаданные.БазаДанных.ВерсияСервера());Эта команда вернёт строку вида
"PostgreSQL 14.7". - Через
psql:SELECT version();Вывод будет содержать полную информацию о версии, например:
PostgreSQL 15.3 (Ubuntu 15.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit
Что делать, если после обновления PostgreSQL 1С выдаёт ошибку "Ошибка СУБД: ERROR: operator does not exist: jsonb = text"?
Эта ошибка связана с изменением обработки JSONB-полей в новых версиях PostgreSQL. Решение:
- Найдите в конфигурации 1С все запросы, где сравниваются
JSONBи текстовые поля. - Замените оператор
=на@>или?(в зависимости от логики). Например:ГДЕ ДанныеJSON @> '{"ключ": "значение"}'::jsonb - Если ошибка возникает в типовых обработках, обновите конфигурацию до последней версии.
Также проверьте, что в postgresql.conf включён параметр jit = on — это может повлиять на обработку сложных запросов.
Какие настройки PostgreSQL критично важны для 1С?
Для стабильной работы 1С с PostgreSQL обязательно настройте следующие параметры в postgresql.conf:
shared_buffers = 25% от общей памяти сервера (но не более 16GB)
work_mem = 16MB (для баз до 50 ГБ) или 32MB (для баз 50+ ГБ)
maintenance_work_mem = 1GB
effective_cache_size = 50% от общей памяти
random_page_cost = 1.1 (если используете SSD)
max_connections = 100 + (количество пользователей * 2)
Также рекомендуется включить расширения:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION IF NOT EXISTS plpgsql;
Можно ли откатиться на старую версию PostgreSQL, если что-то пойдёт не так?
Да, но это требует подготовки. Чтобы обеспечить возможность отката:
- Перед миграцией сделайте полный дамп базы через
pg_dumpс флагом--format=custom. - Сохраните конфигурационные файлы (
postgresql.conf,pg_hba.conf). - Если используете репликацию, сохраните состояние
WAL-логов.
Для отката:
- Удалите новый кластер PostgreSQL.
- Установите старую версию и восстановите дамп.
- Обновите настройки подключения в 1С.
Учтите, что откат может потребовать пересоздания пользователей и ролей в СУБД.