我正在尝试遵循 GraphQL tutorial .
我用过asdf安装erlang , elixir和 postgres 。我使用的是 MacBook。
当我到达运行 mix ecto.setup
的步骤时,出现以下错误:
20:44:47.318 [error] GenServer #PID<0.1605.0> terminating ** (DBConnection.ConnectionError) tcp connect (localhost:5432): connection refused - :econnrefused (db_connection) lib/db_connection/connection.ex:163: DBConnection.Connection.connect/2 (connection) lib/connection.ex:622: Connection.enter_connect/5 (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3 Last message: nil State: Postgrex.Protocol ** (Mix) The database for Community.Repo couldn't be created: an exception was raised: ** (DBConnection.ConnectionError) tcp connect (localhost:5432): connection refused - :econnrefused (db_connection) lib/db_connection/connection.ex:163: DBConnection.Connection.connect/2 (connection) lib/connection.ex:622: Connection.enter_connect/5 (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
可能是什么?
最佳答案
你必须启动postgres,根据asdf-postgree docs你必须:
pg_ctl start
为了运行命令 mix ecto.create
和 mix ecto.setup
你必须使用密码创建一个用户 postgres postgres,并且 postgres 用户必须拥有 LOGIN 和 CREATEDB</em> 权限,然后您可以:
创建默认数据库:
createdb default
登录到该数据库,使用:
psql -d default
并创建具有权限的用户:
# CREATE ROLE postgres LOGIN CREATEDB PASSWORD 'postgres';
关于postgresql - 运行 mix ecto.setup 命令时连接被拒绝,使用 asdf 安装的软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54622264/