Ecto Postgres安装错误密码验证失败

时间:2016-03-04 00:35:52

标签: postgresql phoenix-framework ecto

我使用数字海洋从你好的例子中创建了一个凤凰项目。我输入了etc / motd.tail文件中的用户名和密码。我一直收到以下错误消息。我是初学者,由于某种原因,我无法正确安装。

**(混合)无法创建Hello.Repo数据库,原因如下:psql:FATAL:用户密码验证失败" elixir" 致命:用户" elixir"

的密码验证失败

您可以使用以下Postgress数据库凭据:   *用户:elixir   *通过:***

安装。任何帮助,将不胜感激。

4 个答案:

答案 0 :(得分:59)

我使用Ubuntu 14.04得到了同样的错误,我纠正了重置' postgres'密码:

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

并重启postgres服务:

sudo service postgresql restart

答案 1 :(得分:7)

我认为这个错误发生在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)。

答案 2 :(得分:1)

我们只需要使用this db method

根据username文件夹中的文件创建新的postgresql passwordconfig
$ 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 :(得分:0)

我需要更新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中创建了一个具有数据库创建功能的elixir用户,并在dev.exs(用户/密码/数据库)中配置它