Подтвердить что ты не робот

FATAL: нет записи pg_hba.conf для хоста "fe80:: 1% lo0"

Может кто-нибудь помочь мне, почему это происходит, когда я пытаюсь подключиться к базе данных или rails s?

В моем файле pg_hba.conf у меня есть это:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     Andrew                                trust
#host    replication     Andrew        127.0.0.1/32            trust
#host    replication     Andrew        ::1/128                 trust

local all all md5

Возможно, я делаю это неправильно?

Спасибо

4b9b3361

Ответ 1

У меня была та же проблема. так или иначе, эта строка была добавлена ​​в файл /etc/hosts:

fe80::1%lo0    localhost

комментирование или удаление этой строки из /etc/hosts должно исправить ее

sudo vi /etc/hosts
#fe80::1%lo0    localhost

Ответ 2

Я на OSX 10.9.3 и Postgres 9.3.4.

Мне удалось решить эту проблему следующим образом:

Сначала найдите файл pg_hba.conf, запустив psql с помощью psql -h 127.0.0.1 и выполнив SHOW hba_file;:

              hba_file
-------------------------------------
 /usr/local/var/postgres/pg_hba.conf
(1 row)

Теперь добавьте следующую строку в pg_hba.conf:

host    all             all             fe80::1%lo0/128         trust

и перезагрузите конфигурацию с помощью select pg_reload_conf(); в psql.

Теперь вы можете подключиться через psql -h fe80::1%lo0.

Ответ 3

Oo, это интересный.

Предполагая, что вы подключаетесь к localhost (вы не сказали и не показывали свой database.yml), кажется, что localhost разрешает локальный адрес локальной сети IPv6 с индексом зоны.

Если вы используете ::1 или 127.0.0.1, он должен работать.

Это, скорее всего, неправильная конфигурация или ошибка операционной системы, поэтому на вопрос нужно добавить намного больше деталей (см. комментарий выше), если вы хотите получить конкретный совет.

Ответ 4

Для меня причина заключалась в вызове sudo rails server -p 80.

Я связал сервер рельсов с портом 80, поэтому мне не нужно было указывать порт в URL localhost:3000 во время разработки. Кажется, он пишет fe80::1%lo0»localhost в мой файл /etc/hosts.

Попробуйте прокомментировать строку в вашем файле hosts, а затем запустите rails s -p 3000

Ответ 5

На самом деле,

То же самое происходит со мной, когда я выполняю команду pg_dump, чтобы сделать резервную копию моей базы данных сервера (внешней), как показано ниже

'/Applications/Postgres.app/Contents/Versions/9.3/bin'/pg_dump -d "<database_name>" -h <server_name> -U <db_user_name> -f <destination_path>

Я решил (обойти), заменив мой <server_name> на мой фактический IP-адрес сервера (10.1.0.18).

Итак, проблема здесь в том, что моя система не понимает хост <server_name>.

Он может решаться постоянно, когда вы добавляете хост <server_name> в файл/private/etc/hosts.

Ответ 6

Другой вариант: если IPv6 не используется в сети, вы можете просто отключить его. В службе Windows IPv6 также можно отключить.