Как заставить Сервер 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?»

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

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

Ведь в процессе установки PostgreSQL на Linux подобных «птичек» нет )
Как решить проблему?
На самом деле все довольно просто!
Проверим в начале c какого IP принимаются подключения, и какой порт слушает сервис PostgreSQL.
Тут нам поможет команда:
| 1 | sudo netstat -pant | grep postgres | 
На картинке ниже, мы четко видим, что наш PostgreSQL слушает только localhost — 127.0.0.1 и порт по умолчанию 5432.
Выражаясь простым языком, «Сервер 1С» может работать в паре с СУБД, только на этом севере (хосте), при текущих настройках (По умолчанию, после установки «Постгреса» на этот сервер).

И так, теперь разобравшись, что проблема действительно есть в настройках PostgreSQL, можно приступить к ее решению!
Сперва нам нужно найти конфигурационный файл postgresql.conf
Местоположение этого файла зависит от версии СУБД PostgreSQL (На примере использую сборку от компании Postgres Professional — PostgreSQL 10.5, сборку установил на UBUNTU server 18.04 LTS).
Найти файл очень просто, используем команду:
| 1 | ps aux | grep postgres | grep -- -D | 

Нас интересует все что мы видим после -D /var/lib/pgpro/1c-10/data/
Здесь в каталоге /data/ и лежит наш файл postgresql.conf
Идем в этот каталог, откроем для редактирования postgresql.conf, и внесем нужные правки.

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

Как его установить, писал здесь >>
(Выбрав файл postgresql.conf) далее давим клавишу F4:
Ищем строку #listen_addresses = ‘localhost’.

Раскомментируем строку (убрав #).
И приведем строку к виду: listen_addresses = ‘*’

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

Далее выполним перезапуск сервиса postgresql:
Стоп:
service postgrespro-1c-10 stopИ старт:
service postgrespro-1c-10 start(Команда перезапуска у Вас будет отличатся, если версия PostgreSQL другая или другой сборки).
Затем стоит проверить работает ли PostgreSQL:
service postgrespro-1c-10 statusИ если видим (как на картинке ниже) зеленым цветом active (running) значит PostgreSQL работает!

Смотрим, что теперь «слушает» PostgreSQL:
| 1 | sudo netstat -pant | grep postgres | 

Отлично!
После перезапуска сервиса, PostgreSQL принимает подключения действительно с любых IP адресов на стандартный порт 5432!
Но! не спешите сейчас бежать на Сервер 1С, создавать новую информационную базу, или выполнять подключение.
Сервер 1С встретит Вас новой ошибкой! )
«ВАЖНО: в pg_hba.conf нет записи для компьютера «192.168.128.13», пользователя «postgres», базы «template1″, SSl выкл.»

Сервер 1С требует от нас создать еще одну запись, уже в другом файле pg_hba.conf
«Надо, так надо )»
Открываем для редактирования файл pg_hba.conf, он к слову находится в том же каталоге, что и файл postgresql.conf
Ищем строку: host all all 127.0.0.1/32 md5

И приводим к виду: host all all 192.168.128.13/24 md5
Где 192.168.128.13 ip адрес нашего Сервера 1С. (Тот сервер, где работает Сервер 1С).

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

Вот и все!
Сохраним файл и выполним перезапуск PostgreSQL.
Теперь новая информационная база 1С, будет создана успешно!

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