Администрирование · 9 мин
Как загрузить базу 1С в PostgreSQL
Подробная инструкция, как загрузить базу 1С в PostgreSQL: подготовка сервера, создание базы, загрузка выгрузки .dt, типичные ошибки и проверка результата.
Работа 1С с PostgreSQL — стандартный способ перевести базу из файлового режима в клиент-серверный. Такой вариант нужен, когда с базой одновременно работает несколько пользователей, растёт объём данных или требуется централизованное резервное копирование. PostgreSQL поддерживается платформой 1С:Предприятие официально, но требует специальной сборки СУБД и корректной настройки параметров.
Важно понимать сразу: «загрузить базу 1С в PostgreSQL» означает не прямой импорт файла базы, а цепочку действий. Сначала устанавливается и настраивается сервер PostgreSQL, затем в кластере серверов 1С создаётся пустая информационная база, и только после этого в неё загружается выгрузка в формате .dt, сделанная из исходной базы через конфигуратор.
Ошибки на любом из этапов приводят к характерным проблемам: база не создаётся, загрузка обрывается с ошибкой, либо база работает, но медленно. Ниже разобран полный порядок действий с проверками результата и разбором типичных сбоев.
Что понадобится перед началом работы
Для переноса потребуются три компонента: установленная платформа 1С:Предприятие с серверным компонентом (сервер 1С), СУБД PostgreSQL специальной сборки и выгрузка исходной базы в формате .dt. Если база пока файловая, выгрузку делают через конфигуратор: меню «Администрирование» → «Выгрузить информационную базу».
Обычная сборка PostgreSQL с официального сайта postgresql.org не подходит: платформа 1С требует сборку с особыми патчами. Такие сборки распространяются через портал 1С и у партнёров. Установка «ванильного» PostgreSQL — одна из самых частых причин ошибок при создании базы.
Установка и подготовка PostgreSQL
Установите сервер PostgreSQL на выделенную машину или на тот же сервер, где работает сервер 1С (допустимо для небольших нагрузок). При установке задайте пароль суперпользователя postgres и запомните порт — по умолчанию 5432. Убедитесь, что служба PostgreSQL запущена и принимает подключения.
После установки рекомендуется скорректировать конфигурацию в файле postgresql.conf. Ключевые параметры, влияющие на работу 1С: объём разделяемой памяти (shared_buffers), настройки эффективного кэша (effective_cache_size) и параметры журнала транзакций. Точные значения зависят от объёма оперативной памяти сервера — универсальных цифр нет, ориентируйтесь на рекомендации документации к вашей сборке.
Создание пустой информационной базы в кластере 1С
Откройте консоль администрирования серверов 1С:Предприятия. В дереве слева раскройте кластер, перейдите в раздел «Информационные базы» и через контекстное меню выберите «Создать» → «Информационная база».
В диалоге создания укажите: имя базы (латиницей, без пробелов), тип СУБД — PostgreSQL, сервер баз данных (имя или адрес машины с PostgreSQL), имя базы данных в PostgreSQL, пользователя СУБД (обычно postgres или отдельная учётная запись) и его пароль. Оставьте включённым флажок «Создать базу данных в случае её отсутствия» — тогда база в PostgreSQL будет создана автоматически.
- 1Установите сборку PostgreSQL, совместимую с платформой 1С, и проверьте, что служба запущена
- 2Откройте консоль кластера серверов 1С и создайте новую информационную базу с типом СУБД PostgreSQL
- 3Укажите сервер БД, имя базы, пользователя и пароль, оставьте флажок автоматического создания базы
- 4Убедитесь, что база появилась в списке информационных баз кластера и в списке баз PostgreSQL
Загрузка выгрузки .dt в созданную базу
После создания пустой базы запустите конфигуратор, выбрав новую базу в списке. Откроется пустая конфигурация — это нормально. Перейдите в меню «Администрирование» → «Загрузить информационную базу» и укажите путь к файлу выгрузки .dt.
Процесс загрузки может занять от нескольких минут до нескольких часов в зависимости от размера базы и производительности сервера. Не прерывайте процесс: обрыв загрузки оставляет базу в несогласованном состоянии, и процедуру придётся начинать заново с пересоздания базы.
После завершения загрузки платформа может предложить выполнить реструктуризацию или обновление конфигурации базы данных — соглашайтесь. Затем запустите базу в режиме 1С:Предприятие и проверьте, что открываются справочники, документы и отчёты.
psql -U postgres -h localhost -c "SELECT datname FROM pg_database;"Проверка результата и работоспособности базы
Проверку стоит выполнять на трёх уровнях: со стороны PostgreSQL, со стороны кластера 1С и со стороны прикладного решения. В PostgreSQL убедитесь, что база данных существует и содержит таблицы. В консоли кластера — что база отображается без ошибок. В режиме предприятия — что данные на месте: откройте несколько документов за разные периоды, сформируйте оборотно-сальдовую ведомость или другой типовой отчёт.
Полезно сравнить контрольные цифры с исходной базой: итоги по ключевым регистрам, количество документов за период. Совпадение этих показателей — надёжный признак корректной загрузки.
Как проверить результат
База присутствует, размер растёт после загрузки
Базы нет или размер близок к нулю после загрузки
База открывается, справочники и документы доступны
Ошибка соединения с СУБД или пустые списки
Обороты и остатки совпадают
Расхождения в суммах или отсутствие документов
Типичные ошибки и способы их устранения
Наиболее частая проблема — ошибка создания базы данных из-за несовместимой версии PostgreSQL или обычной (не патченой) сборки. Второе место занимают ошибки аутентификации: неверный пароль пользователя СУБД или ограничения в файле pg_hba.conf, запрещающие подключение с адреса сервера 1С.
Если загрузка .dt обрывается на больших базах, проверьте свободное место на диске с данными PostgreSQL и журнал сервера 1С. Нехватка дискового пространства — типичная скрытая причина сбоев, поскольку при загрузке создаются временные структуры.
Альтернативные способы переноса данных
Загрузка через .dt — универсальный, но не единственный путь. Если требуется перенести только часть данных (например, справочники и остатки при переходе на новую конфигурацию), используют типовые обработки переноса данных или конвертацию данных. Для регулярного обмена между базами применяют планы обмена.
Если база уже работает на другой СУБД (MS SQL) и нужен переезд именно на PostgreSQL, цепочка та же: выгрузка .dt из конфигуратора и загрузка в новую базу. Прямой перенос средствами СУБД между разными системами для баз 1С не применяется.
Как выбрать действие
Частые вопросы
Можно ли подключить файловую базу 1С к PostgreSQL напрямую?
Нет. Файловый и клиент-серверный режимы — разные способы хранения. Переход выполняется только через выгрузку базы в файл .dt и последующую загрузку в информационную базу, созданную на сервере 1С с СУБД PostgreSQL.
Подойдёт ли PostgreSQL, скачанный с официального сайта postgresql.org?
Для работы 1С требуется специальная сборка PostgreSQL с патчами, которые распространяются через портал 1С и партнёров. Стандартная сборка с официального сайта PostgreSQL платформой не поддерживается и приводит к ошибкам при создании базы.
Каким пользователем СУБД лучше создавать базу?
Можно использовать суперпользователя postgres, но безопаснее создать отдельную учётную запись с правами на создание баз данных и использовать её только для нужд сервера 1С. Это упрощает разграничение доступа и аудит.
Что делать, если загрузка .dt зависла или оборвалась?
Не пытайтесь продолжить с того же места — такой возможности нет. Проверьте свободное место на диске, журналы сервера 1С и PostgreSQL, устраните причину, затем удалите незагруженную базу и повторите процесс с создания чистой информационной базы.
Нужно ли настраивать PostgreSQL после загрузки базы?
Да, для стабильной работы под нагрузкой рекомендуется скорректировать параметры памяти и журналирования в postgresql.conf под объём оперативной памяти сервера. Настройки по умолчанию рассчитаны на минимальные ресурсы и могут стать узким местом при росте числа пользователей.
Что важно запомнить
Загрузка базы 1С в PostgreSQL выполняется в три этапа: установка совместимой сборки СУБД, создание пустой информационной базы в кластере серверов 1С и загрузка выгрузки .dt через конфигуратор. Перед началом обязательно сделайте резервную копию, а после загрузки проверьте базу на трёх уровнях: в PostgreSQL, в кластере и в режиме предприятия.