@TempForWork

Server doesn't listen [PostgreSQL] ?

OS: Windows 7 64-bit

На рабочем компьютере потребовалось переустановить PostgreSQL.

После переустановки при попытке подключения к серверу PostgreSQL 9.3 (localhost: 5432) и создания нового сервера localhost (localhost: 5432) - появляется окно с ошибкой:

"Server doesn't listen
The server doesn't accept connections: the connection library reports
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?

If you encounter this message, please check if the server you're trying to contact is actually running PostgreSQL on the given port. Test if you have network connectivity from your client to the server host using ping or equivalent tools. Is your network / VPN / SSH tunnel / firewall configured correctly?

For security reasons, PostgreSQL does not listen on all available IP addresses on the server machine initially. In order to access the server over the network, you need to enable listening on the address first.

For PostgreSQL servers starting with version 8.0, this is controlled using the "listen_addresses" parameter in the postgresql.conf file. Here, you can enter a list of IP addresses the server should listen on, or simply use '*' to listen on all available IP addresses. For earlier servers (Version 7.3 or 7.4), you'll need to set the "tcpip_socket" parameter to 'true'.

You can use the postgresql.conf editor that is built into pgAdmin III to edit the postgresql.conf configuration file. After changing this file, you need to restart the server process to make the setting effective.

If you double-checked your configuration but still get this error message, it's still unlikely that you encounter a fatal PostgreSQL misbehaviour. You probably have some low level network connectivity problems (e.g. firewall configuration). Please check this thoroughly before reporting a bug to the PostgreSQL community. "

В интернете чаще всего советуют проверить корректиность pg_hba.conf.
Сравнил свой файл с файлом коллеги с работающим PostgreSQL - файлы идентичны.

Подскажите, пожалуйста, как решить проблему или в каком направлении искать решение?

UPD:
В службах при попытке запустить postgresql-службу появляется окно с текстом:

"Служба "postgresql-x64-9.3" на "Локальный компьютер" была запущена и затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами."
  • Вопрос задан
  • 35312 просмотров
Пригласить эксперта
Ответы на вопрос 4
fox354
@fox354
Testing Engineer, Bradypodidae и просто "Диванный
Приветствую!
Была похожая проблема. При разборе полетов, оказалось, что pg_hba.conf в процессе редактирования был сохранен с "BOM".

1. Как проверить?
Открыть pg_hba.conf в любом hex-редакторе. Если в начале документа имеется "п»ї", то значит у вас файл конфига сохранен с "BOM".
Также на это есть ссылка в логах запуска.

2. Как исправить?
Открыть pg_hba.conf в notepad++. В верхнем меню выбрать "Кодировка", а выпадающем списке "Преобразовать в UTF-8 без BOM".
После чего сохранить изменения.
Ответ написан
Комментировать
@Swartalf
Проверьте на какой адрес у вас забинден пострегс и какие разрешения в pg_hba.conf идут, и по какому адресу обращаетесь.
в ошибке указано куда посмотреть: (localhost:5432) это (::1 : 5432) или (127.0.0.1 : 5432).
Ну хорошо бы если вы показали конфиги, а не :
"Сравнил свой файл с файлом коллеги с работающим PostgreSQL - файлы идентичны."
Оракул в отпуске, конфиг коллеги не может прочитать через астрал
Ответ написан
@Aerozed
QA Engineer
Итак решение проблемы было следующим, для тех, кто столкнется:
Заходим в Users/ваш юзер/appdata/roaming/pgadmin, открываем файл логов pgadmin4.txt, смотрим ошибку
У меня была 10013
Причина ошибки либо недостаток прав, либо занятость порта другими процессами
Почистил и поотключал антивирусы, не помогло
Командой netstat -ano узнал id процесса на порту 5432 (порт postgresql), узнал его id (столбец PID)
Дальше ctrl+shift+esc открываем диспетчер задач, вкладка подробности и смотрим, каким процессом занят порт с нужным id (у меня id был 2800), кликаем на процесс и жмём снять задачу
Запускаем заново pgadmin4, у меня все заработало
Ответ написан
Комментировать
@pachvo
На всякий случай добавлю, что пароль при создании сервера, должен совпадать с тем, что устанавливался ранее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы