2015-05-18 3 views
0

запустить сервер Postgresql и проверен на 5432 на моей системе LOCALHOST:Postgresql: Невозможно подключиться через PSQL на консоли по умолчанию LOCALHOST

Если я типа: psql -l я получаю следующий ответ:

Psql: не удалось подключиться к серверу: нет такого файла или каталога
Является ли сервер запущенным локально и принимает соединения в соке домена Unix «/var/run/postgresql/.s.PGSQL.5432»?

Если я нахожу psql -h localhost -l, он работает и дает мне список баз данных.

Файл pg_hba.conf широко открыт, показано:

TYPE DATABASE  USER   ADDRESS     METHOD 

Значение "локальное" предназначено только для Unix соединений сокетов домена:

local all    all          trust 

Разрешить любого IP для подключения без пароля:

host all    all    0.0.0.0/0    trust 

IPv4 местные соединения:

host all    all    127.0.0.1/32   trust 

IPv6 локальные соединения:

host all    all    ::1/128     trust 

Что я пропустил? В других системах первый вызов из командной строки работает нормально.

ответ

0

По умолчанию Админ Логин sudo -u postgres psql

Войти в конкретные дб с privilages psql -h host -p port -U User_Name db_name

0

Похоже, когда вы запускаете команду вы подключаетесь на локальный, а не файл сокета .. попробовать

psql -h localhost -p 5432 
0

Является ли сервер запущен локально и принимает соединения в домене Unix Сокет "/var/run/postgresql/.s.PGSQL.5432"?

Это означает, что параметр конфигурации unix_socket_directory на сервере отличается от значения по умолчанию для psql на стороне клиента.

/var/run/postgresql - это путь сокета домена Unix по умолчанию для пакетов на базе Debian. Для самокомпилированного сервера это /tmp. Он также может быть настраиваемым путем, указанным в postgresql.conf или с помощью директивы start.

Предполагая, что это /tmp, вы можете сделать psql -l -h /tmp. Команда знает, что параметр, следующий за -h, должен интерпретироваться как каталог, а не как имя хоста, потому что он начинается с косой черты.

Смежные вопросы