старый поток
Я пытаюсь настроить базу данных postgres и сталкиваюсь со следующей ошибкой при выполнении "rake db: schema: load".Таким образом, кажется, что rails пытается подключиться к моей БД, используя сокет unix вместо tcp / ip, который я настроил (см. Мой database.yml ниже).Я не понимаю, почему это происходит.Я наткнулся на следующий поток, который подтверждает, что я правильно настроил свой database.yml. нажмите здесь .Одна идея состояла в том, чтобы изменить в конфигурации postgres метод: peer для типа: локальный на md5.Тем не менее, насколько я понимаю конфиг postgres, моя вторая строка должна сделать эту работу.Кроме того, другое приложение rails работает на том же сервере, используя tcp / ip, поэтому я ожидаю, что конфигурация psql будет правильной.Я также сравнил файлы database.yml и они совпадают
[root@myserver app]# rake db:schema:load
-- enable_extension("plpgsql")
-> 0.0166s
-- create_table("qip_changes", {:force=>:cascade})
-> 0.0494s
-- create_table("users", {:force=>:cascade})
-> 0.0539s
-- add_foreign_key("qip_changes", "users")
-> 0.0037s
-- enable_extension("plpgsql")
rake aborted!
PG::ConnectionBad: FATAL: Peer authentication failed for user "my_user_name"
pg_hba.conf:
# TYPE DATABASE USER ADDRESS METHOD
local all all peer
host all all 127.0.0.1/32 md5
database.yml:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: my_db_name
username: my_user_name
password: my_password
host: localhost
port: 5432
test:
<<: *default
database: my_db_name
username: my_user_name
password: my_password
host: localhost
port: 5432
production:
<<: *default
database: my_db_name
username: my_user_name
password: my_password
host: localhost
port: 5432