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

标签 postgresql elixir graphql asdf-vm

我正在尝试遵循 GraphQL tutorial .

我用过asdf安装erlang , elixirpostgres 。我使用的是 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.createmix ecto.setup 你必须使用密码创建一个用户 postgres postgres,并且 postgres 用户必须拥有 LOGINCREATEDB<​​/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/

相关文章:

ruby - RSpec - 如何模拟存储过程

ruby-on-rails - rails : How do I change my database from SQLite to PG while in Development?

elixir - 如何在版本 (elixir/exrm) 上运行 'mix' 命令?

logging - 您可以为 Phoenix 的不同路线设置不同的日志级别吗?

sql - 动态 SQL PostgreSQL

SQL 查询以查找具有最匹配关键字的行

Elixir Ecto : How do I create a self-referential foreign key?

javascript - Graphql 创建 2 个具有 1 个突变的条目

javascript - ApolloClient超时最佳选择

javascript - GraphQL : Reuse arguments from root_query in a type