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

Ошибка аутентификации учетной записи Ecto Postgres

Я создал проект phoenix с примера hello, используя цифровой океан. Я ввел имя пользователя и пароль из файла etc/motd.tail. Я продолжаю получать сообщение об ошибке ниже. Я новичок, и по какой-то причине я просто не могу правильно установить ecto.

** (Mix) База данных для Hello.Repo не может быть создана, причина указана: psql: FATAL: аутентификация пароля не удалась для пользователя "elixir" FATAL: аутентификация паролей для пользователя "эликсир"

Вы можете использовать следующие учетные данные учетной записи Postgress: * Пользователь: elixir * Pass: ***

установить. Любая помощь будет оценена по достоинству.

4b9b3361

Ответ 1

Я предполагаю, что эта ошибка происходит в задаче mix ecto.create?

Это происходит потому, что Ecto использует psql для создания базы данных, однако это уже не так в предстоящем Ecto 2.0.

Следующая проблема GitHub показывает ту же проблему https://github.com/elixir-lang/ecto/issues/1207

Соответствующий комментарий с исправлением https://github.com/elixir-lang/ecto/issues/1207#issuecomment-172570064:

Моя конфигурация базы данных (pg_hba.conf) была, по-видимому, неправильной.

Для всех, кто сталкивается с этим:

host all my_user 127.0.0.1/32 доверие не будет работать хост все my_user localhost trust будет работать

Пожалуйста, проверьте pg_hba.conf (вероятно, в /etc/postsgresql/9.x/pg_hba.conf).

Ответ 2

Я получаю ту же ошибку, используя Ubuntu 14.04, и исправил сброс пароля postgres:

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

и перезапустите службу postgres:

sudo service postgresql restart

Ответ 3

Мне нужно было обновить pg_hba.conf, чтобы сделать эту работу.

Я использую Fedora, поэтому перейдите в /var/lib/pgsql/data ​​p >

# "local" is for Unix domain socket connections only
local   all             postgres                                peer
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 ident

Затем я создал пользователя elixir в postgres с возможностями создания базы данных и настроил его в dev.exs(user/password/database)