2013-07-04 2 views
2

Я настраиваю свою локальную базу данных PostgreSQL для проекта рельсы (что я присоединяюсь), и сделали следующее:Postgresql «нет записи pg_hba.conf» ошибка

  • Installed Postgres
  • Добавлено/комплект «пг» драгоценный камень
  • Создан пользователем дб имени «Foobar»
  • Создана БД с именем «foobar_development»

приложение рельсы поставляется с Rak e db: выполнить миграцию. Когда я запускаю эту задачу, я получаю следующее сообщение об ошибке: выход

FATAL: no pg_hba.conf entry for host "::1", user "foobar", database "foobar_development", SSL off 

Я нашел файл pg_hba.conf в следующем месте:

/USR/местные/вар/Postgres

Вот соответствующая часть файла 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  jimmyli        trust 
#host replication  jimmyli  127.0.0.1/32   trust 
#host replication  jimmyli  ::1/128     trust 

Я использую Postgres, которые пришли с моим Mac (версия 9.2.4), хотя я волнуюсь, я, возможно, установил другую версию, что где-то ELS e (и должен удалить его - так или иначе, я могу проверить это?). Я также использую Postgres.app для запуска psql. (http://postgresapp.com/).

Я думаю, что мой файл pg_hba.conf должен работать правильно (поскольку я предоставляю всем пользователям доступ ко всем dbs), поэтому я задаюсь вопросом, есть ли еще файл pg_hba.conf и что я смотрю на неправильный один/один, который не используется. Как я могу проверить эту гипотезу?

ответ

0

pg_hba.conf предполагается скопировать в ваш каталог данных. Согласно list here, он должен быть в ~/Library/Application \ Support/Postgres/var. Надеюсь, что поможет ...

+0

Да, это было очень близко к правильному пути - нашло правильный путь, делая SHOW hba_file в Postgres. – jyli7

4

Замените postgresql после внесения изменений в файл pg_hba.conf? Попробуйте войти в db как суперпользователь и выпустите select pg_reload_conf();, чтобы перезагрузить файлы pg_hba.conf и postgresql.conf.

8

Есть! Похоже, я смотрел на неправильный/неуместный файл pg_hba.conf. Для того, чтобы найти правильный, я вошел в БД с PSQL и побежал «SHOW hba_file»

Это дало мне путь к соответствующему файлу, который в моем случае было:

/Library/PostgreSQL/9.1/ данные

Затем я добавил правильные строки (см. мой вопрос) на этот вопрос, и все сработало !.

0

Установить следующие переменные окружения в командной строке требуют SSL для соединений Postgres:

$ export PGSSLMODE=require 
Смежные вопросы