2016-08-17 38 views
1

當試圖運行mix ecto.create我得到了以下錯誤:無法混合ecto.create。多個錯誤

  1. .Repo couldn't be created: tcp connect: connection refused - :econnrefused
  2. .Repo couldn't be created: FATAL (invalid_authorization_specification): role "postgres" does not exist
  3. .Repo couldn't be created: FATAL (invalid_authorization_specification): role "postgres" is not permitted to log in

什麼是Postgres的,必須以正確設置鳳凰符合條件?

回答

1

爲了運行mix ecto.create你需要一系列的條件:

  1. 的Postgres必須啓動並運行。

  2. Postgres必須有一個用戶postgres與密碼postgres

  3. postgres用戶必須有權限都LOGINCREATEDB

例如,我有Postgres在本地運行但缺少postgres用戶。

左右的時間內PSQL我不得不使用下面的命令:

# CREATE ROLE postgres LOGIN CREATEDB PASSWORD 'postgres'; 

然後它的工作。

榮譽爲Wendy Smoak

0
  1. 開始你的Postgres:(假設你使用的是Mac)

    pg_ctl -D在/ usr /本地的/ var/Postgres的-l /usr/local/var/postgres/server.log開始

然後,您可以在cofig/dev.exs中更改底部的數據庫配置,以便使用您的帳戶和角色能夠創建數據庫。

+0

不錯!另一種方法:)雖然問題中的錯誤消息特別提到了postgres角色 – jaysoifer