Какую сборку Postgres использовать для 1С 8.3 Сервер и как её правильно настроить?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Перевод файловой базы данных 1С:Предприятие на клиент-серверный режим работы — это важнейший шаг на пути к повышению стабильности, безопасности и производительности системы. При росте базы данных свыше 4–6 ГБ или при увеличении числа одновременно работающих пользователей файловый вариант начинает давать сбои, появляются частые блокировки данных и критические ошибки. Исторически стандартным выбором СУБД для продуктов 1С являлся Microsoft SQL Server. Однако в современных реалиях его высокая стоимость и сложность лицензирования заставляют системных администраторов искать более доступные альтернативы. Самой популярной и проверенной временем заменой выступает СУБД PostgreSQL.

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

Почему нельзя использовать стандартный (ванильный) PostgreSQL?

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

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

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

Для стабильной работы необходимы специализированные сборки СУБД, в которые интегрирован набор патчей от компании «1С».

Актуальные и поддерживаемые сборки PostgreSQL для 1С

На сегодняшний день на рынке СУБД для СНГ выделяются два основных легитимных варианта сборки PostgreSQL, адаптированных для работы с 1С:

1. Сборка PostgreSQL от самой фирмы «1С».
Данный дистрибутив распространяется непосредственно разработчиком платформы через портал ИТС. Плюс этой сборки в том, что она гарантированно протестирована специалистами 1С на совместимость со всеми версиями платформы. Однако для доступа к скачиванию требуется действующий договор сопровождения (ИТС Проф). Если у вас нет активной подписки, легально скачать готовую сборку не получится.

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

Выбор операционной системы: Windows или Linux?

Рассмотрим важный аспект архитектуры СУБД. Исторически сложилось так, что PostgreSQL разрабатывался под Unix-подобные операционные системы. В Linux на каждое новое клиентское подключение операционная система порождает отдельный изолированный процесс, что работает чрезвычайно быстро благодаря эффективной работе с памятью в ядре Linux.

В Windows аналогичная эмуляция многопроцессной архитектуры PostgreSQL сопряжена с серьезными накладными расходами операционной системы на управление процессами и разделяемой памятью. На практике это выливается в следующие особенности:

Поэтому настоятельно рекомендуется сделать технологический шаг вперед и развернуть сервер СУБД на дистрибутивах Linux (Debian, Ubuntu Server, Astra Linux или РЕД ОС). Это позволит выжать максимум производительности из имеющегося оборудования.

Тонкая настройка postgresql.conf под нужды 1С

Утверждение о том, что PostgreSQL «из коробки» настроен на минимальное потребление ресурсов, абсолютно верно. Сразу после стандартной установки СУБД выделяет под свои нужды ничтожно малый объем памяти, чтобы запуститься даже на слабом компьютере. Если запустить базу 1С на ненастроенной СУБД, скорость проведения документов вас сильно разочарует.

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

Параметр shared_buffers

Определяет объем оперативной памяти, который СУБД использует для кэширования таблиц и индексов. Это один из главных параметров производительности чтения. Для выделенного сервера баз данных рекомендуется устанавливать значение равным 25% от общего объема оперативной памяти сервера. Например, если на сервере установлено 32 ГБ RAM, задайте:


shared_buffers = 8GB

Параметр work_mem

Задает объем памяти, используемый для выполнения внутренних операций сортировки и группировки в рамках одного запроса, прежде чем СУБД начнет сбрасывать временные данные на медленный жесткий диск. Поскольку запросы 1С содержат огромное количество соединений и виртуальных таблиц, стандартного значения (4MB) катастрофически мало. Однако важно помнить: эта память выделяется под каждую операцию сортировки в рамках каждого запроса. При большом количестве активных пользователей слишком высокое значение может исчерпать всю оперативную память. Рекомендуется начинать с диапазона 32MB – 128MB:


work_mem = 64MB

Параметр maintenance_work_mem

Задает максимальный объем памяти для проведения регламентных сервисных работ (индексация, выполнение операций VACUUM, резервное копирование). Увеличение этого параметра позволяет СУБД быстрее перестраивать индексы, что существенно ускоряет регламентное обслуживание. Рекомендуется выделять до 10% от общей RAM, но не более нескольких гигабайт:


maintenance_work_mem = 2GB

Параметр max_locks_per_transaction

Этот параметр критически важен именно для платформы 1С. В процессе построения сложных отчетов или проведения документов платформа генерирует сотни временных таблиц в рамках одной транзакции. Стандартного значения лимита блокировок СУБД быстро начинает не хватать, что приводит к аварийным отказам в работе пользователей. Для 1С этот параметр необходимо увеличивать как минимум до 256 или 512:


max_locks_per_transaction = 256

Регламентное обслуживание СУБД PostgreSQL

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

Пошаговый план переноса файловой базы на Postgres Pro 1C

Разберем по шагам последовательность действий для успешного развертывания клиент-серверного режима:

  1. Подготовка оборудования: Убедитесь, что сервер баз данных оснащен достаточным объемом оперативной памяти (минимум 16 ГБ для комфортной работы) и быстрыми SSD-дисками. По возможности разворачивайте сервер СУБД на операционной системе Linux.
  2. Резервное копирование: Перед началом любых манипуляций зайдите в файловую базу 1С в режиме Конфигуратора и выполните выгрузку информационной базы в файл резервной копии (формат .dt) через меню «Администрирование -> Выгрузить информационную базу».
  3. Установка СУБД: Скачайте дистрибутив Postgres Pro Standard 1C для выбранной операционной системы. Запустите установку. На этапе настройки укажите объем имеющихся ресурсов сервера, чтобы установщик автоматически прописал оптимальные базовые параметры в конфигурационный файл.
  4. Создание пустой базы данных: Откройте утилиту администрирования серверов 1С:Предприятия. Создайте новую информационную базу, указав имя созданной СУБД, логин и пароль администратора базы данных PostgreSQL (пользователь по умолчанию — postgres).
  5. Загрузка данных: Запустите Конфигуратор новой созданной пустой базы данных 1С. Через меню «Администрирование -> Загрузить информационную базу» выберите ранее сохраненный файл .dt и дождитесь окончания процесса импорта данных.
  6. Настройка планов обслуживания: Настройте ежедневный скрипт резервного копирования базы данных средствами СУБД (утилита pg_dump), а также еженедельное регламентное обслуживание индексов и сбор статистики.

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

← На главную