Phoenix和Postgres安装 - 不说话

时间:2018-05-02 21:19:32

标签: postgresql elixir phoenix-framework

我的操作系统是Fedora 26

我安装了Postgresql和Phoenix。

Postgres有一个超级用户" postgres"密码" postgres"。这可以通过在psql中运行\ du来确认。

当我运行$ mix ecto.create时,我得到了

** (Mix) The database for Hello.Repo couldn't be created: FATAL 28000 (invalid_authorization_specification): Ident authentication failed for user "postgres"

我怀疑它可能是权限问题。要登录psql需要

$ sudo -u postgres psql postgres

凤凰城在尝试使用postgres时可能没有sudo privilages。

$ psql --version
psql (PostgreSQL) 9.6.8

任何想法都赞赏。

1 个答案:

答案 0 :(得分:1)

默认情况下,在本地连接到数据库的postgres数据库用户的身份验证是验证操作系统用户是否也是postgres。这是错误消息引用的身份验证,也是执行sudo -u postgres后连接的原因。

要使用其他身份验证方式作为postgres用户进行连接,您需要编辑pg_hba.conf文件。 (HBA代表基于主机的身份验证)。

允许此行的行如下所示:

local   all             postgres                                peer

添加一个看起来像这样的行(不删除另一行!):

local   all             postgres                                md5

你也可以使用postgres的密码进行连接。

如果我没记错的话,您需要重启数据库才能生效。