Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Как заставить Сервер 1С (что работает на Windows), увидеть в сети сервер PostgreSQL на Linux UBUNTU?

Конечно, данная тема также подымается и на курсе: Администратор 1С!

 

Собственно решить такие проблемы как:

  • “Ошибка создания информационной базы”
  • “Ошибка операции администрирования”
  • “Сервер баз данных не обнаружен”
  • “Could not connect to server: Connection refused (Ox..00000/0000…)
  • Is the server running on host 192.168….x… and accepting TCP/IP connections on port 5432?”

Как заставить сервер 1С увидеть в сети сервер PostgreSQL ?

 

При установке на один физический сервер, “Cервера 1С” (кластер серверов) + СУБД PostgreSQL  проблем обычно не возникает. И “Сервер 1С” прекрасно видит PostgreSQL, новые информационные базы создаются, и все работает по умолчанию, конечно если поставили птичку во время установки СУБД на Windows – “Разрешать подключения с любых IP адресов”.

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

 

Но совсем другая история, когда PostgreSQL у нас работает на Linux!

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Ведь в процессе установки PostgreSQL на Linux подобных “птичек” нет )

Как решить проблему?

На самом деле все довольно просто!

Проверим в начале c какого IP принимаются подключения, и какой порт слушает сервис PostgreSQL.

Тут нам поможет команда:

sudo netstat -pant | grep postgres

На картинке ниже, мы четко видим, что наш PostgreSQL слушает только localhost – 127.0.0.1 и порт по умолчанию 5432.

Выражаясь простым языком, “Сервер 1С” может работать в паре с СУБД, только на этом севере (хосте), при текущих настройках (По умолчанию, после установки “Постгреса” на этот сервер).

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

И так, теперь разобравшись, что проблема действительно есть в настройках PostgreSQL, можно приступить к ее решению! 

Сперва нам нужно найти конфигурационный файл postgresql.conf

Местоположение этого файла зависит от версии СУБД PostgreSQL (На примере использую сборку от компании Postgres Professional – PostgreSQL 10.5, сборку установил на UBUNTU server 18.04 LTS).

Найти файл очень просто, используем команду:

ps aux | grep postgres | grep -- -D

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Нас интересует все что мы видим после -D  /var/lib/pgpro/1c-10/data/

Здесь в каталоге /data/ и лежит наш файл postgresql.conf

Идем в этот каталог, откроем для редактирования postgresql.conf, и внесем нужные правки.

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Для передвижения по каталогам и редактированию файлов на UBUNTU server 18.04, я использую MC (Midnight Commander).

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Как его установить, писал здесь >>

(Выбрав файл postgresql.conf) давим клавишу F4.

Ищем строку #listen_addresses = ‘localhost’.

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Раскомментируем строку (убрав #).

И приведем строку к виду: listen_addresses = ‘*’

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Давим F2 + Enter и сохраняем файл.

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Далее выполним перезапуск сервиса postgresql:

Стоп:

service postgrespro-1c-10 stop

И старт:

service postgrespro-1c-10 start

(Команда перезапуска у Вас будет отличатся, если версия PostgreSQL другая или другой сборки).

Затем стоит проверить работает ли PostgreSQL:

service postgrespro-1c-10 status

И если видим (как на картинке ниже) зеленым цветом active (running) значит PostgreSQL работает!

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Смотрим, что теперь “слушает” PostgreSQL:

sudo netstat -pant | grep postgres

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Отлично!

После перезапуска сервиса, PostgreSQL принимает подключения действительно с любых IP адресов на стандартный порт 5432!

Но!  не спешите сейчас бежать на Сервер 1С, создавать новую информационную базу, или выполнять подключение.

Сервер 1С встретит Вас новой ошибкой! )

“ВАЖНО: в pg_hba.conf нет записи для компьютера “192.168.128.13”, пользователя “postgres”, базы “template1″, SSl выкл.”

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Сервер 1С требует от нас создать еще одну запись, уже в другом файле pg_hba.conf

“Надо, так надо )”

Открываем для редактирования файл pg_hba.conf, он к слову находится в том же каталоге, что и файл postgresql.conf

Ищем строку: host      all          all                  127.0.0.1/32      md5

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

И приводим к виду: host      all          all                  192.168.128.13/24      md5

Где 192.168.128.13 ip адрес нашего Сервера 1С. (Тот сервер, где работает Сервер 1С).

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

Кстати! можно поступить и по-другому.

Просто добавить в строке ниже еще одну запись (Ту которую от нас и требует Сервер 1С):

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

 

Вот и все!

Сохраним файл и выполним перезапуск PostgreSQL.

Теперь новая информационная база 1С, будет создана успешно!

Как заставить Сервер 1С увидеть в сети сервер PostgreSQL ?

 

Сервер 1С работает на Windows, а PostgreSQL на Linux!

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>



Есть вопросы? пишите в группу Telegram!

Сканируйте и присоединяйтесь к сообществу!

 

Программа помощник Администратора 1С

Скачай бесплатно YaAdmin !
Программа YaAdmin помощник администратора 1С

Уроки Бесплатно!

Узнайте как правильно администрировать 1С