Администрирование · 9 мин
Как создать базу 1С на PostgreSQL: пошаговая инструкция
Как создать базу 1С на PostgreSQL: установка СУБД, настройка сервера, создание базы через консоль кластера, типичные ошибки и проверка результата.
Клиент-серверный вариант работы 1С на PostgreSQL — стандартный выбор для организаций, которые переросли файловый режим, но не готовы платить за коммерческую СУБД. PostgreSQL официально поддерживается платформой 1С, а специально адаптированная сборка от 1С совместима с большинством конфигураций и доступна бесплатно.
Процесс состоит из четырёх этапов: установка сервера 1С, установка PostgreSQL, регистрация информационной базы в кластере и загрузка конфигурации. Ошибки чаще всего возникают на стыке этапов — из-за несовпадения версий, неправильной локали базы или недостатка прав у пользователя СУБД.
Ниже разобран полный цикл создания базы с нуля: от подготовки сервера до проверки работоспособности. Инструкция ориентирована на Windows и Linux, отличия указаны отдельно.
Что понадобится перед началом работы
Для клиент-серверной работы нужны три компонента: сервер 1С:Предприятия, СУБД PostgreSQL и клиентское приложение (толстый или тонкий клиент). Все три могут стоять на одной машине для тестов, но в боевой среде СУБД и сервер 1С обычно разносят либо совмещают на выделенном сервере.
Важно использовать PostgreSQL, совместимый с 1С. Обычная сборка с официального сайта postgresql.org не подойдёт напрямую: 1С требует специфических патчей. Есть два рабочих варианта — сборка PostgreSQL от фирмы «1С» и PostgresPro Standard/Certified. Версия PostgreSQL должна поддерживаться вашей версией платформы 1С — это проверяется в системных требованиях конкретного релиза платформы.
Также заранее подготовьте: дистрибутив конфигурации (файл .dt или .cf), учётную запись с правами администратора на сервере и решение о том, под каким пользователем 1С будет подключаться к PostgreSQL. По умолчанию используется суперпользователь postgres, но для промышленной эксплуатации лучше завести отдельную роль.
Установка и настройка PostgreSQL для 1С
Установите PostgreSQL с официального дистрибутива 1С или PostgresPro. При установке на Windows инсталлятор предложит задать пароль суперпользователя postgres, порт (по умолчанию 5432) и локаль. Для 1С критично, чтобы локаль была русской (Russian_Russia.1251 на Windows) или UTF-8 на Linux — от этого зависит корректная сортировка строк в базе.
На Linux установка выполняется пакетным менеджером. После установки убедитесь, что служба запущена и кластер инициализирован с нужной локалью:
sudo systemctl status postgresql
sudo -u postgres psql -c "SHOW lc_collate;"После установки проверьте два конфигурационных файла. В postgresql.conf при необходимости скорректируйте параметры памяти (shared_buffers, work_mem) — для небольших баз значений по умолчанию обычно достаточно. В pg_hba.conf должна быть разрешена аутентификация по паролю (md5 или scram-sha-256) для подключений с адреса сервера 1С, если они на разных машинах.
Установка сервера 1С:Предприятия
Запустите установщик платформы и выберите компонент «Сервер 1С:Предприятия». На Windows сервер регистрируется как служба, по умолчанию работающая от имени пользователя USR1CV8, который создаётся при установке. Задайте для него надёжный пароль и не отключайте эту учётную запись.
На Linux сервер ставится из пакетов rpm/deb, служба называется srv1cv8. После установки убедитесь, что агент сервера запущен и слушает порты 1540–1541 (по умолчанию):
systemctl status srv1cv8
netstat -tlnp | grep 154Проверьте, что версия платформы сервера совпадает с версией клиента, с которого будете подключаться. Разные версии платформы на клиенте и сервере — типичная причина ошибок подключения к базе.
Создание информационной базы через консоль кластера
Это ключевой шаг. Саму базу в PostgreSQL вручную через psql создавать не нужно и не следует — сервер 1С создаст её автоматически с правильной структурой и параметрами.
- 1Откройте консоль управления сервером 1С (на Windows — «Администрирование серверов 1С») или запустите клиент 1С и нажмите «Добавить» → «Создание новой информационной базы»
- 2Выберите тип расположения — «На сервере 1С:Предприятия» и укажите имя кластера (имя сервера)
- 3Задайте имя информационной базы — латиницей, без пробелов, оно же станет именем базы в PostgreSQL
- 4Тип СУБД — PostgreSQL, сервер баз данных — имя или IP сервера PostgreSQL, порт 5432
- 5Укажите пользователя СУБД (postgres или отдельная роль с правом создания баз) и его пароль
- 6Снимите флажок «Создать базу данных в случае её отсутствия» только если база уже создана; для новой базы оставьте его включённым
- 7Установите блокировку регламентных заданий, если база создаётся для тестов, и завершите создание
После нажатия «Готово» сервер 1С подключится к PostgreSQL, создаст базу с нужной локалью и зарегистрирует её в кластере. Процесс занимает от нескольких секунд до пары минут. Если база создаётся через диалог добавления в клиенте, результат тот же — разницы между способами нет.
Имя базы данных в PostgreSQL будет совпадать с именем информационной базы, приведённым к нижнему регистру. Учитывайте это при последующем обслуживании — например, при настройке резервного копирования через pg_dump.
Загрузка конфигурации и первый запуск
Созданная база пуста — в ней нет ни конфигурации, ни данных. Откройте её в конфигураторе (режим «Конфигуратор» в окне выбора баз) и загрузите данные одним из способов: «Загрузить информационную базу» из файла .dt (полная копия с данными) или «Загрузить конфигурацию из файла» .cf (только структура).
После загрузки .dt конфигуратор предложит обновить конфигурацию базы данных — соглашайтесь. Затем запустите базу в режиме предприятия и выполните первоначальное заполнение: для типовых конфигураций запустится помощник начальной настройки.
Создайте пользователей и назначьте права до того, как открывать доступ сотрудникам. Для рабочей базы снимите установленную при создании блокировку регламентных заданий, иначе фоновые задачи (обмены, расчёты) выполняться не будут.
Как проверить результат
Запрос \l в psql показывает базу с именем вашей ИБ
Базы нет — проверьте права пользователя СУБД и логи сервера 1С
База открывается без ошибок, интерфейс загружается
Ошибка соединения с СУБД или несоответствие версий
В консоли заданий задачи выполняются по расписанию
Задания заблокированы или падают с ошибками
Типичные ошибки и их решение
Большинство ошибок диагностируется по журналу регистрации 1С и логам PostgreSQL (на Linux — /var/log/postgresql/, на Windows — каталог log внутри данных кластера). Читайте первое сообщение об ошибке в цепочке — последующие обычно являются её следствием.
Безопасность и резервное копирование
После успешного создания базы сразу настройте резервное копирование. Для клиент-серверных баз используется pg_dump или физическое копирование на уровне СУБД — выгрузка в .dt через конфигуратор не заменяет полноценный бэкап и выполняется значительно дольше.
Ограничьте сетевой доступ к PostgreSQL: в pg_hba.conf оставьте только адреса сервера 1С и администраторских машин. Не используйте суперпользователя postgres для повседневной работы сервера 1С — создайте отдельную роль с правами CREATEDB.
Что важно запомнить
Базу в PostgreSQL создаёт сервер 1С, а не администратор вручную. Критичны три вещи: совместимая сборка СУБД, правильная локаль кластера и совпадение версий платформы. После создания сразу настройте бэкап и проверьте регламентные задания.
Частые вопросы
Можно ли использовать обычный PostgreSQL с официального сайта?
Нет, для работы 1С требуется PostgreSQL с патчами, которые накладывает фирма «1С» или PostgresPro. Официальная сборка с postgresql.org выдаст ошибку при создании базы. Исключение — отдельные новые версии платформы, где заявлена работа с ванильным PostgreSQL; проверяйте системные требования вашего релиза платформы.
Можно ли перенести файловую базу на PostgreSQL?
Да. Откройте файловую базу в конфигураторе, сделайте выгрузку в файл .dt, затем создайте новую серверную базу по инструкции выше и загрузите в неё этот файл. Все данные, пользователи и настройки перенесутся.
Нужно ли создавать базу данных в PostgreSQL вручную?
Нет, и делать этого не следует. Сервер 1С создаёт базу сам с корректной локалью, кодировкой и шаблоном. База, созданная вручную через psql с параметрами по умолчанию, чаще всего не подходит и вызывает ошибку при регистрации.
Какие параметры PostgreSQL нужно менять для небольшой базы?
Для базы с несколькими пользователями значений по умолчанию обычно достаточно. При росте нагрузки первым делом увеличивают shared_buffers (ориентир — четверть оперативной памяти сервера) и work_mem. Менять параметры стоит по одному, проверяя эффект на реальной нагрузке.
Что делать, если при создании базы возникает ошибка аутентификации?
Проверьте три вещи: правильность пароля пользователя postgres, наличие в pg_hba.conf строки, разрешающей подключение с адреса сервера 1С по md5/scram-sha-256, и отсутствие спецсимволов в пароле. После правки pg_hba.conf перезагрузите конфигурацию командой pg_ctl reload или перезапуском службы.
Можно ли держать сервер 1С и PostgreSQL на разных машинах?
Да, это штатная схема. Убедитесь, что между серверами открыт порт СУБД (5432), в pg_hba.conf разрешено подключение с адреса сервера 1С, а в postgresql.conf параметр listen_addresses не ограничен только localhost.