Рассмотрим частую ситуацию, с которой сталкиваются системные администраторы: на сервере уже работает MS SQL Server, и необходимо развернуть новую информационную базу 1С на PostgreSQL. При попытке создать базу стандартным способом через окно запуска 1С, платформа упорно пытается подключиться к MS SQL, даже если явно выбран PostgreSQL, или выдает ошибки, которые, на первый взгляд, не связаны с базой данных. Разберем по шагам, почему так происходит и как правильно создать базу в такой среде.
Основная причина большинства проблем в этом сценарии — путаница между двумя ключевыми компонентами клиент-серверной архитектуры 1С. Давайте проясним этот момент раз и навсегда.
Чтобы успешно администрировать 1С, критически важно понимать, что «Сервер 1С:Предприятия» и «Сервер СУБД» — это две совершенно разные сущности. Они могут быть установлены на одной физической машине, но выполняют разные функции.
5432.1433.Когда вы видите ошибку "Сервер 1С:Предприятия не обнаружен", это означает, что клиентское приложение не может найти и подключиться именно к этому промежуточному слою (ragent), а не к PostgreSQL. Проблема кроется в настройках подключения к кластеру серверов 1С, а не к самой базе данных.
Проанализируем ошибки, с которыми столкнулся автор в обсуждении, так как они очень показательны.
Такое поведение возникает, когда вы пытаетесь создать новую базу через окно запуска 1С ("Добавить в список существующую информационную базу"), указывая тип расположения "На сервере 1С:Предприятия". Если в поле "Сервер баз данных" указать только имя машины без порта, 1С может попытаться использовать драйвер и порт СУБД, который считается "основным" или настроен по умолчанию для этого сервера, что в смешанной среде часто оказывается MS SQL.
Решение: Всегда явно указывайте порт для СУБД, отличной от MS SQL. Правильный формат для PostgreSQL: имя_сервера:порт. Например: localhost:5432 или 192.168.1.100:5432.
Эта ошибка появляется после того, как вы правильно указали порт, и говорит о проблемах на сетевом уровне. Сервер 1С смог найти сервер СУБД по указанному адресу, но тот по какой-то причине отказал в соединении. Выясним возможные причины:
5432 должен быть открыт для входящих подключений.postgresql.conf: Параметр listen_addresses должен содержать IP-адрес, с которого ожидаются подключения, или '*' для прослушивания всех адресов.pg_hba.conf: Этот файл управляет аутентификацией. В нем должны быть строки, разрешающие подключение для пользователя 1С с IP-адреса сервера 1С.Попытка создать клиент-серверную базу "силами 1С" из окна запуска клиента — это неправильный подход. Этот инструмент предназначен для добавления уже существующих баз в список. Создавать и управлять базами на сервере 1С нужно через специальный инструмент — Консоль администрирования серверов 1С:Предприятия.
Разберем по шагам правильный алгоритм действий.
Убедитесь, что у вас есть пользователь (роль) в PostgreSQL, от имени которого сервер 1С будет подключаться к СУБД и управлять базами. Этот пользователь должен иметь права на создание баз данных (атрибут CREATEDB).
Найдите в меню "Пуск" "Администрирование серверов 1С Предприятия" и запустите консоль.
В дереве консоли раскройте ветку с вашим кластером. Нажмите правой кнопкой мыши на элементе "Информационные базы" и выберите пункт "Создать".
Откроется окно создания информационной базы. Здесь нужно внимательно заполнить все поля:
erp_new).PostgreSQL.localhost:5432.erp_new_db).Нажмите "ОК" для завершения.
После нажатия "ОК" сервер 1С:Предприятия подключится к серверу PostgreSQL с указанными учетными данными, выполнит команду CREATE DATABASE и создаст в ней всю необходимую для работы 1С служебную структуру таблиц. Если все прошло успешно, новая база появится в списке информационных баз в консоли.
Теперь, когда база корректно создана на сервере, вы можете добавить ее в список в окне запуска 1С у пользователей. При добавлении выберите "Добавление в список существующей информационной базы", укажите "На сервере 1С:Предприятия", введите адрес вашего сервера 1С (не СУБД!) и выберите из списка имя базы, которое вы задали на шаге 4 (erp_new).
Итог: Ключ к решению проблемы — использование правильного инструмента (Консоли администрирования) и четкое разделение понятий "Сервер 1С" и "Сервер СУБД". Создание базы через консоль гарантирует, что все команды будут выполнены корректно и в нужной последовательности, а явное указание порта в настройках соединения исключит попытки подключения к другой СУБД.