运行mix ecto.setup命令时连接被拒绝,使用asdf安装的软件包

时间:2019-02-10 23:39:25

标签: postgresql elixir graphql asdf-vm

我正在尝试遵循GraphQL tutorial

我用asdf安装了erlangelixirpostgres。我正在使用Macbook。

进入运行mix ecto.setup的步骤时,出现以下错误:

  

20:44:47.318 [错误] GenServer #PID <0.1605.0>终止   **(DBConnection.ConnectionError)TCP连接(localhost:5432):连接被拒绝-:econnrefused       (db_connection)lib / db_connection / connection.ex:163:DBConnection.Connection.connect / 2       (连接)lib / connection.ex:622:Connection.enter_connect / 5       (stdlib)proc_lib.erl:249::proc_lib.init_p_do_apply / 3   上一条消息:无   状态:Postgrex.Protocol   **(混合)无法创建Community.Repo的数据库:引发了异常:       **(DBConnection.ConnectionError)TCP连接(localhost:5432):连接被拒绝-:econnrefused           (db_connection)lib / db_connection / connection.ex:163:DBConnection.Connection.connect / 2           (连接)lib / connection.ex:622:Connection.enter_connect / 5           (stdlib)proc_lib.erl:249 :: proc_lib.init_p_do_apply / 3

可能是什么?

1 个答案:

答案 0 :(得分:2)

根据asdf-postgree docs,您必须启动postgres:

pg_ctl start

并且为了运行命令mix ecto.createmix ecto.setup,您必须使用密码postgres创建一个用户 postgres,并且postgres用户必须同时具有这两个< em> LOGIN 和 CREATEDB ,那么您可以:

创建默认数据库:

createdb default

使用以下命令登录到该数据库:

psql -d default

并创建具有权限的用户:

# CREATE ROLE postgres LOGIN CREATEDB PASSWORD 'postgres';