Ошибка 1С «Сервер баз данных не обнаружен»
При работе с 1С в клиент-серверном варианте могут возникать ошибки, которые напрямую не связаны с 1С:Предприятием, а связаны непосредственно с сервером управления баз данных.
Одна из распространенных ошибок — «Сервер баз данных не обнаружен…».
Продолжение данного сообщения может быть различным:
-
1. Could not translate host name «NAME» to address: Temporary failure in name resolution
2. ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
3. ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»
4. Is the server running on host and accepting TCP/IP connections on port 5432?
5. «Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов.»
6. FATAL: database «base» does not exist
Далее рассмотрим подробнее каждую ошибку.
Could not translate host name «NAME» to address: Temporary failure in name resolution
Пример полного текста ошибки:
Сервер баз данных не обнаружен could not translate host name «NAME» to address: Temporary failure in name resolution |
Описание:
Ошибка может возникать как при создании базы, так и при запуске информационной базы.
Решение:
Настроим DNS-адресацию или пропишем адреса в файл hosts. Обратите внимание, что в данном случае проблема в том, что на сервере 1С нет информации о доменном имени сервера СУБД PostgreSQL. Подробнее о DNS — Настройка DNS-адресации для 1С сервера.
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
Пример полного текста ошибки:
Сервер баз данных не обнаружен ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident) |
Описание: Ошибка возникает при создании базы.
Решение:
Настроим проверку подлинности.
-
- Сконфигурируем доступ к серверу PostgreSQL в файле: pg_hba.conf:
vim /var/lib/pgsql/11/data/pg_hba.conf |
Файл должен содержать только следующие строки (содержащие ip серверов 1С) (остальные удалим или пометим как комментарий):
# TYPE DATABASE USER ADDRESS METHOD local all all trust host all all «Указать ip-адрес сервера 1С» md5 |
Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.
Последняя колонка указывает на метод авторизации.
Если пока теряетесь в настройках доступа. Для понимания, можно сначала открыть все, запустить сервер.
# TYPE DATABASE USER ADDRESS METHOD local all all trust host all all 0.0.0.0/0 trust |
А после удачного старта сервера СУБД разбираться с настройками доступа.
ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»
Пример полного текста ошибки:
Сервер баз данных не обнаружен ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template». |
Описание ошибки:
Ошибка связана с отсутствием прописанного доступа к базе данных в файле pg_hba.conf
Решение:
Добавим запись в файл pg_hba.conf.
Приведем пример содержания файла, который открывает доступ:
# TYPE DATABASE USER ADDRESS METHOD local all all trust host all all «Указать ip-адрес сервера 1С» md5 |
Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.
Is the server running on host and accepting TCP/IP connections on port 5432?
Пример полного текста ошибки:
Сервер баз данных не обнаружен could not connect to server: No rout to host Is the server running on host and accepting TCP/IP connections on port 5432? |
Описание:
Проблема может возникать как при создании информационной базы из консоли администрирования 1С: Предприятия, так и при ее запуске в процессе эксплуатации уже существующей базы данных.
Решение:
В данном случае необходимо понимать, что рабочего процесса:
Либо нет;
Либо клиент(в нашем случае сервер 1С) его не «видит» по ряду причин:
— Отсутствие доступа;
— Обращение по другому адресу.
1. Первоначально, конечно, проверим, есть ли на сервере СУБД PostgreSQL в запущенных процессах процесс postmaster/postgres (в зависимости от версии PostgreSQL) на порту 5432.
netstat –tlnp | grep 5432 |
Или
1.1. Если по результатам проверки видим, что не запущен процесс, то необходимо его запустить.
service postgresql—11 start |
1.2. Если по результатам проверки видим, что процесс запущен, но слушает только «себя» 127.0.0.1.
То выполним ряд настроек.
Отредактируем конфигурационный файл
vim /var/lib/pgsql/11/data/postgresql.conf |
Укажем там настройку:
1.3. Если видим, что процесс запущен
То переходим к следующем пункту.
2. Проверим доступность процесса по порту, который он «слушает».
С сервера 1С выполним команду(в нашем случае имя сервера СУБД «1s-on-pg-1»):
Если доступ отсутствует – то мы увидим нечто подобное:
Подключение к 333.33.33.xx…Не удалось открыть подключение к этому узлу, на порт 5432: Сбой подключения |
К причинам отсутствия доступа по данному порту можно отнести:
- Блокировка брадмауэром или другими подобными программами;
- Отсутствие доступа на уровне сети.
2.1. Проверим статус файерволла.
systemctl status firewalld |
Если файерволл работает и блокирует порт 5432, то.
Отключим firewall:
и отключим автозапуск.
systemctl disable firewalld |
Результат должен быть следующим:
systemctl status firewalld |
или
настроим, открыв порт 5432.
iptables —t filter —I INPUT —p tcp —dport 5432 —j ACCEPT service iptables save |
«Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов»
Пример полного текста ошибки:
Сервер баз данных не обнаружен породить новый процесс для соединения не удалось: Ресурс временно недоступен |
или
Сервер баз данных не обнаружен ВАЖНО: извините, уже слишком много клиентов |
Описание:
В процессе работы выдается ошибка
Решение:
Изменим настройку в файле postgresql.conf
Данное число, должно быть примерно в 1.5 раза больше максимального количества пользователей.
Установим ее:
-
- Перейдем в терминал psql.
-
- Через psql установим следующие параметры командой ALTER SYSTEM SET:
ALTER SYSTEM SET max_connections=500; |
FATAL: database «base» does not exist
Пример полного текста ошибки:
Сервер баз данных не обнаружен FATAL: database «base» does not exist |
Описание:
При запуске базы данных выдается ошибка, которая говорит о том, что данная база не существует.
Решение:
Проверим наименование базы данных и информационной базы. Сделать это можно в консоли администрирования 1С в свойствах базы.
Учтём, что Linux чувствителен к регистру(Base/base/BASE – для него это разные имена баз).
13.12.17 — 12:28
Пиветствую орумчане. рСтолкнулсяфс такой прблемой: есть сервер 1С 8.3(стоит на Winfнdows Serder R2) и сервер Postgresql 9.5(крутитсo на Ubuntu 16.04). При создании информационной базы в 1С вылетает ошибка — сервер баз данных не обнаружен. Пинг до сервера идет, порт 5432 открыт. Может кто сталкивался, подскажите пожалуйста как поправить
1 — 13.12.17 — 12:31
судя по очепяткам, имя сервера баз данных надо проверить.
2 — 13.12.17 — 12:33
очепятки от нервов))обращаюсь не по имени сервера, а по ip
3 — 13.12.17 — 12:33
(1) судя по версии постгре — надо проверить, наложены ли на нее патчи для работы с 1с…
4 — 13.12.17 — 12:34
а сами базы данных 1с на серверах присутствуют?
5 — 13.12.17 — 12:34
6 — 13.12.17 — 12:35
Edit /etc/postgresql/<version>/main/postgresql.conf and set the listen_addresses to your outgoing interface or all. Restart postgresql: sudo service postgresql restart.
7 — 13.12.17 — 12:37
(6) делал, и ip прописывал, и дефолтные возвращал — не пемогло
8 — 13.12.17 — 12:40
(2) Сначала нервы лечить, потом заниматься скулем.
9 — 13.12.17 — 12:41
(3) ту же версию установили на сервер с 1С — никаких проблем
10 — 13.12.17 — 12:42
(8) хороший совет, главное по теме …
11 — 13.12.17 — 12:43
(10) Правильный совет. Настройка SQL не терпит суеты.
12 — 13.12.17 — 13:09
Кстати: а почему Вы сервер ставите на Ubuntu, а не на Windows? Мы в своё время так-же обожглись — не могли заставить новую версию платформы, требующую установку новой версии Postgre, корректно работать под… эээ… я уже забыл на чём мы тогда работали
13 — 13.12.17 — 13:13
(12) я бы наоборот сказал.
postgree вообще-то изначально под линукс заточена. И агент там же, линуксовый. Весь обмен- внутри одной машины.
14 — 13.12.17 — 13:17
Ааа.. вспомнил операционку — Linux Fedora
(13) «Весь обмен — внутри одной машины» — ну я как бы «за», но у автора 1С — на Windows.
15 — 13.12.17 — 13:29
1) А кто сказал, что 5432 открыт. Телнетом на 5432 подключается?
2) Так же в настройках постгре нужно доступ снаружи открыть.
16 — 13.12.17 — 13:29
(0)для начала установи на окностервер PgAdmin и попробуйц из под него подключиться к серверу с постгри.
Да, а ты точно запустил самое постгри?
17 — 13.12.17 — 13:38
+(15) netstat -np
18 — 13.12.17 — 13:52
Да там у нервного автора может быть что угодно, от ненастроенного(недопатченного) постгри, до настроек фаервола и там и тут.
Ему надо успокоиться и начнет сначала все проверять.
19 — 13.12.17 — 13:54
(0) и почему 9.5 а не 9.6?
20 — 13.12.17 — 14:28
(0)
А вы к сереверу можете чем-то кроме 1С подключиться? Тем же pgAdmin’ом?
pg_hba.conf — настраивался. Там по умолчанию разрешено подключатся только с localhost.
А служба вообще запущена? Может установили, но недонастроили…
21 — 13.12.17 — 14:29
(20) вот прострегс и не стартанул)
Tip4ik
22 — 13.12.17 — 16:03
Все спасибо — решение найдено.
(8) Да, это помогло))
(19) Поставил чистую систему,накатил рекомендованную 9.6, в ~/pg_hba.conf поменял в строке с postgres значение на trust и заработало.
-
22.09.2011, 04:51
#1
Гость форума
Установка 1С сервер82+PostgreSQL, Проблема с повторным созданием БД
Здравствуйте,
Конфигурация следующая: Windows 7 x64, 1С предприятие 8.1.15.14 + 1С сервер81, 1С предприятие 8.2.14.533 + 1С сервер82…работает на эмуляторе, все для тестирования.
Все настроил согласно тысячам инструкций и описаний в интернете…
Обе службы (81 и 82) работают под пользователем postrges с паролем *****
Создал по базе для каждой платформы, обе базы работают и по сей день.
А теперь проблема: При попытке создать еще одну базу под любой из платформ пишет ошибку:Ошибка при создании информационной базы
Сервер баз данных не обнаружен
FATAL: no pg_hba.conf enty for host @fe80::855C:766D:9889:6a04%11″, user «Postgres», database «template 1»Пытался найти решение в и-нете и на форуме, но ничего толкового так и не представилось…
Не понимаю с чем связано, есть подозрение на эмулятор. В первый раз все как по учебнику было.
Заранее огромное спасибо.
-
22.09.2011, 07:23
#2
Гордость форума PRO
А базу пытаешься создать средствами 1С? А не пробовал создать вначале «пустую базу» средствами самого PostgreSQL, а затем лишь «отразить» 1С на эту базу?
Судя по диагностики у тебя грабли именно при попытки создания базы в PostgreSQL средствами самой 1С.
Вот что кстати инет говорит про «pg_hba.conf»
Client authentication is controlled by a configuration file, which traditionally is named pg_hba.conf and is stored in the database cluster’s data directory. (HBA stands for host-based authentication.) A default pg_hba.conf file is installed when the data directory is initialized by initdb. It is possible to place the authentication configuration file elsewhere, however; see the hba_file configuration parameter.
The general format of the pg_hba.conf file is a set of records, one per line. Blank lines are ignored, as is any text after the # comment character. A record is made up of a number of fields which are separated by spaces and/or tabs. Fields can contain white space if the field value is quoted. Records cannot be continued across lines.
Each record specifies a connection type, a client IP address range (if relevant for the connection type), a database name, a user name, and the authentication method to be used for connections matching these parameters. The first record with a matching connection type, client address, requested database, and user name is used to perform authentication. There is no «fall-through» or «backup»: if one record is chosen and the authentication fails, subsequent records are not considered. If no record matches, access is denied.
A record may have one of the seven formats
local database user auth-method [auth-option]
host database user CIDR-address auth-method [auth-option]
hostssl database user CIDR-address auth-method [auth-option]
hostnossl database user CIDR-address auth-method [auth-option]
host database user IP-address IP-mask auth-method [auth-option]
hostssl database user IP-address IP-mask auth-method [auth-option]
hostnossl database user IP-address IP-mask auth-method [auth-option]А у тебя получается запись в этом файле следующая:
host @fe80::855C:766D:9889:6a04%11
user «Postgres»
database «template 1»вот и получаешь свой «access is denied»
Удачи
-
23.09.2011, 05:11
#3
Гость форума
Сообщение от avm3110
А базу пытаешься создать средствами 1С? А не пробовал создать вначале «пустую базу» средствами самого PostgreSQL, а затем лишь «отразить» 1С на эту базу?
Судя по диагностики у тебя грабли именно при попытки создания базы в PostgreSQL средствами самой 1С.
А у тебя получается запись в этом файле следующая:
host @fe80::855C:766D:9889:6a04%11
user «Postgres»
database «template 1»вот и получаешь свой «access is denied»
Удачи
Спасибо за ответ.
Проблема решена, ошибка: неправильно создание базы, неправильное заполнение полей. Смешно, но это так)))
Как заставить Сервер 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.
Тут нам поможет команда:
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).
Найти файл очень просто, используем команду:
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:
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С >>>
/
PostgreSQL FATAL: no pg_hba.conf entry for host ipv6
08.08.2014
При создании новой базы 1C на сервере PostgreSQL в OS Windows Server 2008 R2 система вываливает ошибку:
Ошибка при создании информационной базы 1С:
Сервер баз данных не обнаружен
FATAL: no pg_hba.conf entry for host «fe80::2cc8:3744:3f57:fe94/128», user «postgres», database «template1»
Решение:
Идем в файл pg_hba.conf (находится в папке установленного PostgreSQL) и добавляем строчку:
host all all fe80::2cc8:3744:3f57:fe94/128 md5
После чего перезапускаем PostgreSQL.