title: Postgres - Phoenix/Elixir install errors
body: <p>I am following this tutorial <a href="http://codetunes.com/2015/phoenix-blog/">Elixir blog in 15 minutes using Phoenix framework - Step by Step</a></p>
  
  <p>But I have a problem, which I have no idea how to fix. I think it has something to do with postgres. </p>
  
  <p>I did:</p>
  
  <pre><code>$ mix ecto.create
  $ mix ecto.migrate
  
      C:\Users\999\Documents\elixir_files\blog&gt;mix ecto.create
  ** (RuntimeError) could not find executable `psql` in path, please guarantee it is available before running ecto commands
      lib/ecto/adapters/postgres.ex:105: Ecto.Adapters.Postgres.run_with_psql/2
      lib/ecto/adapters/postgres.ex:82: Ecto.Adapters.Postgres.storage_up/1
      lib/mix/tasks/ecto.create.ex:32: Mix.Tasks.Ecto.Create.run/1
      (mix) lib/mix/cli.ex:55: Mix.CLI.run_task/2
      (stdlib) erl_eval.erl:669: :erl_eval.do_apply/6
      (elixir) lib/code.ex:131: Code.eval_string/3
  
  
  C:\Users\999\Documents\elixir_files\blog&gt;mix ecto.migrate
  [warning] the :size option when configuring Blog.Repo is deprecated, please use :pool_size instead
  ** (exit) exited in: GenServer.call(#PID&lt;0.139.0&gt;, {:query, "CREATE TABLE IF NOT EXISTS \"schema_migrations\" (\"version\" bigint PRIMARY KEY, \"inserted_at\" timestamp)", []}, :infinity)
      ** (EXIT) %Postgrex.Error{message: "tcp connect: econnrefused", postgres: nil}
      (elixir) lib/gen_server.ex:356: GenServer.call/3
      (postgrex) lib/postgrex/connection.ex:102: Postgrex.Connection.query/4
      (ecto) lib/ecto/adapters/postgres/connection.ex:31: Ecto.Adapters.Postgres.Connection.query/4
      (ecto) lib/ecto/adapters/sql.ex:242: Ecto.Adapters.SQL.query/7
      (ecto) lib/ecto/pool.ex:159: Ecto.Pool.do_run/4
      (ecto) lib/ecto/adapters/sql.ex:230: Ecto.Adapters.SQL.query/6
      (ecto) lib/ecto/adapters/sql.ex:208: Ecto.Adapters.SQL.query/5
      (ecto) lib/ecto/adapters/sql.ex:169: Ecto.Adapters.SQL.query!/5
  
  
  
  
  
      [warning] the :size option when configuring Blog.Repo is deprecated, please use :pool_size instead
  [info] GET /posts
  [debug] Processing by Blog.PostController.index/2
    Parameters: %{"format" =&gt; "html"}
    Pipelines: [:browser]
  [error] GenServer #PID&lt;0.280.0&gt; terminating
  Last message: {:"$gen_cast", :connect}
  State: %{backend_key: nil, bootstrap: false, extensions: [{Ecto.Adapters.Postgres.DateTime, []}, {Postgrex.Extensions.JSON, [library: Poison]}, {Postgrex.Extensions.Binary, nil}, {Postgrex.Extensions.Text, nil}], listener_channels: #HashDict&lt;[]&gt;, listeners: #HashDict&lt;[]&gt;, opts: [hostname: "localhost", timeout: 5000, otp_app: :blog, repo: Blog.Repo, adapter: Ecto.Adapters.Postgres, username: "postgres", password: "postgres", database: "blog_dev", extensions: [{Ecto.Adapters.Postgres.DateTime, []}, {Postgrex.Extensions.JSON, [library: Poison]}], port: 5432], parameters: %{}, portal: nil, queue: {[%{command: {:connect, [hostname: "localhost", timeout: 5000, otp_app: :blog, repo: Blog.Repo, adapter: Ecto.Adapters.Postgres, username: "postgres", password: "postgres", database: "blog_dev", extensions: [{Ecto.Adapters.Postgres.DateTime, []}, {Postgrex.Extensions.JSON, [library: Poison]}], port: 5432]}, from: nil, reply: :no_reply}], []}, rows: [], sock: nil, state: :ready, statement: nil, tail: "", types: :types_removed, types_key: {'localhost', 5432, "blog_dev", [{Ecto.Adapters.Postgres.DateTime, []}, {Postgrex.Extensions.JSON, [library: Poison]}]}}
  ** (exit) %Postgrex.Error{message: "tcp connect: econnrefused", postgres: nil}
  [info] Sent 500 in 1149ms
  [error] #PID&lt;0.278.0&gt; running Blog.Endpoint terminated
  Server: localhost:4000 (http)
  Request: GET /posts
  ** (exit) exited in: GenServer.call(#PID&lt;0.280.0&gt;, {:query, "SELECT p0.\"id\", p0.\"title\", p0.\"body\", p0.\"inserted_at\", p0.\"updated_at\" FROM \"posts\" AS p0", []}, 5000)
      ** (EXIT) %Postgrex.Error{message: "tcp connect: econnrefused", postgres: nil}
  </code></pre>