На рабочем компьютере потребовалось переустановить 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" на "Локальный компьютер" была запущена и затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами."
Приветствую!
Была похожая проблема. При разборе полетов, оказалось, что pg_hba.conf в процессе редактирования был сохранен с "BOM".
1. Как проверить?
Открыть pg_hba.conf в любом hex-редакторе. Если в начале документа имеется "п»ї", то значит у вас файл конфига сохранен с "BOM".
Также на это есть ссылка в логах запуска.
2. Как исправить?
Открыть pg_hba.conf в notepad++. В верхнем меню выбрать "Кодировка", а выпадающем списке "Преобразовать в UTF-8 без BOM".
После чего сохранить изменения.
Проверьте на какой адрес у вас забинден пострегс и какие разрешения в pg_hba.conf идут, и по какому адресу обращаетесь.
в ошибке указано куда посмотреть: (localhost:5432) это (::1 : 5432) или (127.0.0.1 : 5432).
Ну хорошо бы если вы показали конфиги, а не :
"Сравнил свой файл с файлом коллеги с работающим PostgreSQL - файлы идентичны."
Оракул в отпуске, конфиг коллеги не может прочитать через астрал
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
1) psql: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
2) psql: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "::1" and accepting
TCP/IP connections on port 5432?
3) psql: 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?
1) #------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '' # comma-separated list of directories
# (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour = off # advertise server via Bonjour
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
# Kerberos and GSSAPI
#krb_server_keyfile = ''
#krb_srvname = 'postgres' # (Kerberos only)
#krb_caseins_users = off
# - TCP Keepalives -
# see "man 7 tcp" for details
#tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds;
# 0 selects the system default
#tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds;
# 0 selects the system default
#tcp_keepalives_count = 0 # TCP_KEEPCNT;
# 0 selects the system default
угу. Настройки нормальные, но сервер не запущен.
попробуйте в службах перезапустить службу пострегса и посмотреть вывод лога постгреса+что запишется в виндовых event log
/noprofile Не загружать профиль пользователя. Это приводит к более
быстрой загрузке приложения, но может стать причиной
неправильной работы некоторых приложений.
/profile Загружать профиль пользователя.
Этот параметр установлен по умолчанию.
/env Использовать текущие параметры среды.
/netonly Учетные данные предназначены только для удаленного
доступа.
/savecred Использовать учетные данные, сохраненные пользователем.
Этот вариант не доступен в выпусках Windows 7 Домашняя или Windows 7 Начальная
и будет проигнорирован.
/smartcard Для указания учетных данных используется
смарт-карта.
/user <имя пользователя> должно быть в виде USER@DOMAIN или DOMAIN\USER
/showtrustlevels Отобразить список уровней доверия, которые можно
использовать в качестве аргументов параметра /trustlevel.
/trustlevel Значение <уровень доверия> должно быть перечислено в
списке уровней доверия.
<программа> Командная строка для EXE. См. примеры ниже.
Примечание: вводите пароль пользователя только тогда, когда он запрашивается.
Примечание: параметр /profile несовместим с параметром /netonly.
Примечание: параметр /savecred несовместим с параметром /smartcard. "
Изменение имени пользователя на postgres@<корпоративный_домен> не помогает
Какие именно логи необходимы? В папке C:\Windows\Logs несколько папок - CBS, DISM, DPX, HomeGroup, SystemRestoreи 2 файла с IE9, последние 2 папки пустые
Из "Просмотр событий -> Ошибка -> PostgreSQL" (ошибки дублируются):
1) pg_ctl: похоже, что с этим каталогом уже работает управляющий процесс postmaster
2) Превышено время ожидания запуска сервера
3) �����: ���� ������������ "C:/Program Files/PostgreSQL/9.3/data/postgresql.conf" �������� ������ (в логах со знаками вопросов)
TempForWork:
1) проверить процессы, наналичии процессевос постгреса, все поубивать, проверить если ли созданные лок- или пид- файлы, их тоже удалить, после это того попытаться запустить сервер.
3) открывать логи в notepad++ или другом адекватном редакторе который умеер работать с кодировками.
как вариант попробовать так :
runas /user:postgres '"C:\Program Files\PostgreSQL\9.3\bin\postgres" -D "C:\Program Files\PostgreSQL\9.3\data"'
ну тогда последнее, перезагрузить и попробовать все шаги с начала, если не поможет, то звать админа, так как нужно смотреть глазами, так как все посмотрели уже...
может проблема в правах доступа на каталоги,профиле пользователя,паролях, групповых политиках или антивирусе...
Итак решение проблемы было следующим, для тех, кто столкнется:
Заходим в Users/ваш юзер/appdata/roaming/pgadmin, открываем файл логов pgadmin4.txt, смотрим ошибку
У меня была 10013
Причина ошибки либо недостаток прав, либо занятость порта другими процессами
Почистил и поотключал антивирусы, не помогло
Командой netstat -ano узнал id процесса на порту 5432 (порт postgresql), узнал его id (столбец PID)
Дальше ctrl+shift+esc открываем диспетчер задач, вкладка подробности и смотрим, каким процессом занят порт с нужным id (у меня id был 2800), кликаем на процесс и жмём снять задачу
Запускаем заново pgadmin4, у меня все заработало