1

У меня работает PostgreSQL сервер 192.168.0.102:5432. postgresql.conf имеет следующую строку:

listen_addresses = '*'

и pg_hba.conf имеет это:

host    all         all         127.0.0.1/32          trust

У меня есть приложение Rails с тем же config/database.yml

development:
  adapter: postgresql
  host: 192.168.0.102
  port: 5432
  encoding: unicode
  database: test
  pool: 5
  username: test
  password:

Но когда я запускаю rake db:migrate, я получаю (я запускаю это с 192.168.0.100)

FATAL:  no pg_hba.conf entry for host "192.168.0.100", user "test", database "postgres", SSL on
FATAL:  no pg_hba.conf entry for host "192.168.0.100", user "test", database "postgres", SSL off
...

Кто может помочь с этим?

3 ответа3

3

Очевидно, что у вас нет разрешения связываться с сервером с этого IP.

Полные документы на pg_hba.conf находятся здесь. Вам просто нужно добавить аутентификацию md5 для вашего хоста

Что вам, вероятно, нужно:

host all all 192.168.0.100/32 md5

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

1

Очевидно, что у вас нет разрешения связываться с сервером с этого IP.

Полные документы на pg_hba.conf находятся здесь. Вам просто нужно добавить аутентификацию md5 для вашего хоста (и разрешить только «тестировать» базу данных и «тестировать» пользователя).

Что вам, вероятно, нужно:

host test test 192.168.0.100/32 md5
0

Это старый, но вы перезапустили сервер postgresql? Это важный шаг после редактирования pg_hba.conf. Никто здесь не упоминает об этом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .