web-dev-qa-db-ja.com

Ecto Postgresインストールエラーパスワード認証に失敗しました

Helloの例からDigital Oceanを使用してフェニックスプロジェクトを作成しました。 etc/motd.tailファイルからユーザー名とパスワードを入力しました。以下のエラーメッセージが表示され続けます。私は初心者ですが、何らかの理由でectoを正しくインストールできません。

**(Mix)Hello.Repoのデータベースを作成できませんでした。理由:psql:FATAL:ユーザー "elixir"のパスワード認証に失敗しましたFATAL:ユーザー "elixir"のパスワード認証に失敗しました

次のPostgressデータベース認証情報を使用できます:*ユーザー:elixir *パス:***

インストール。任意の助けいただければ幸いです。

24
Robert Kass

このエラーは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)は明らかに間違っていました。

これに遭遇した他の人のために:

すべてのmy_userをホストする127.0.0.1/32信頼が機能しないすべてのmy_userをホストするlocalhost信頼が機能する

pg_hba.confを確認してください(/etc/postsgresql/9.x/pg_hba.confにある可能性があります)。

8
Gazler

Ubuntu 14.04を使用しても同じエラーが発生し、「postgres」パスワードのリセットを修正しました。

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

そしてpostgresサービスを再起動します:

Sudo service postgresql restart
70
Isa Souza

this db method を使用して、usernameフォルダー内のファイルに従って、新しいpostgresql passwordおよびconfigを作成するだけです。

$ Sudo -u postgres createuser <username>
$ Sudo -u postgres createdb <dbname>
$ Sudo -u postgres psql
psql=# alter user <username> with encrypted password '<password>';
psql=# grant all privileges on database <dbname> to <username> ;
3
Fillype Farias

これを機能させるには、pg_hba.confを更新する必要がありました。

私はFedoraを使用しているので、/ var/lib/pgsql/dataに移動します

# "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

次に、データベース作成機能を備えたpostgresでエリクサーユーザーを作成し、dev.exsで構成しました(ユーザー/パスワード/データベース)