Соединение разорвано при запуске команды mix ecto.setup, пакеты установлены с asdf

Я пытаюсь следовать учебнику по GraphQL.

Я использую asdf для установки erlang, elixir и postgres. Я использую MacBook.

Когда я доберусь до шага, чтобы бежать mix ecto.setup Я получаю следующую ошибку:

20: 44: 47.318 [ошибка] GenServer #PID<0.1605.0> завершение ** (DBConnection.ConnectionError) tcp connect (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 ** (Mix) База данных для Community.Repo не может быть создана: возникла исключительная ситуация: ** (DBConnection.ConnectionError) tcp connect (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 ответ

Решение

Вы должны запустить postgres, в соответствии с документами asdf-postgree:

pg_ctl start

И для того, чтобы запустить команды mix ecto.create а также mix ecto.setup Вы должны создать пользователя postgres с паролем postgres, а пользователь postgres должен иметь права на оба пользователя LOGIN и CREATEDB, тогда вы можете:

Создайте базу данных по умолчанию:

createdb default

Войдите в эту базу данных с помощью:

psql -d default

И создайте пользователя с разрешениями:

# CREATE ROLE postgres LOGIN CREATEDB PASSWORD 'postgres';
Другие вопросы по тегам