我正在尝试遵循GraphQL tutorial。
我用asdf安装了erlang,elixir和postgres。我正在使用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
可能是什么?
答案 0 :(得分:2)
根据asdf-postgree docs,您必须启动postgres:
pg_ctl start
并且为了运行命令mix ecto.create
和mix ecto.setup
,您必须使用密码postgres创建一个用户 postgres,并且postgres用户必须同时具有这两个< em> LOGIN 和 CREATEDB ,那么您可以:
创建默认数据库:
createdb default
使用以下命令登录到该数据库:
psql -d default
并创建具有权限的用户:
# CREATE ROLE postgres LOGIN CREATEDB PASSWORD 'postgres';