[英]Elixir Cannot connect to the PostgreSQL
我有一個在本地機器上運行的項目,使用:
Erlang with openssl: Version 18.0
Elixir: Version 1.3.4
我使用asdf安裝了它們。 一切正常。 但是當我嘗試連接到數據庫時,它總是給我以下錯誤:
未處理的退出在 GET /ad_units/Y9Gd1kAiPCv8WOrE 退出: :gen_server.call(#PID<0.469.0>, {:checkout, #Reference<0.0.6.2529>, true, 15000}, 5000) ** (EXIT) 異常被提出:** (CaseClauseError) 沒有 case 子句匹配:[10, 7, 7, 18, 4, 1] (postgrex) lib/postgrex/utils.ex:39: Postgrex.Utils.parse_version/1 (postgrex) lib /postgrex/extensions/void.ex:5: Postgrex.Extensions.Void.init/2 (postgrex) lib/postgrex/types.ex:56: Postgrex.Types.prepare_extensions/2 (elixir) lib/ 中的匿名 fn/2 enum.ex:1115: 匿名 fn/4 在 Enum.into/3 (elixir) lib/enum.ex:1623: Enum."-reduce/3-lists^foldl/2-0-"/3 (elixir) lib /enum.ex:1121: Enum.into/4 (postgrex) lib/postgrex/protocol.ex:434: Postgrex.Protocol.bootstrap_send/3 (postgrex) lib/postgrex/protocol.ex:69: Postgrex.Protocol.connect /1 (db_connection) lib/db_connection/connection.ex:114: DBConnection.Connection.connect/2 (connection) lib/connection.ex:623: Connection.enter_connect/5 (stdlib) proc_lib.erl:239: :proc_lib。 init_p_do_apply/3
我正在使用 Ubuntu 18.04 和 PostgreSQL 10。順便說一句,我可以使用 Ruby on Rails 項目連接到 postgres,並且它工作正常。 我試圖刪除build
,然后mix deps.get && mix deps.compile
,但仍然相同。
知道有什么問題嗎?
更新
mix.deps
依賴項:
defp deps do
[{:phoenix, "~> 1.1.6"},
{:postgrex, ">= 0.0.0"},
{:phoenix_ecto, "~> 2.0"},
{:phoenix_html, "~> 2.4"},
{:phoenix_live_reload, "~> 1.0"},
{:gettext, "~> 0.9"},
{:cowboy, "~> 1.0"},
{:phoenix_slime, "~> 0.6.0"},
{:timex, "~> 2.2"},
{:tzdata, "~> 0.1.8", override: true},
{:timex_ecto, "~> 1.1.3"},
# {:quantum, ">= 1.7.1"},
{:exrm, "~> 1.0" },
{:edeliver, ">= 1.2.10"},
{:browser, "~> 0.1.0"}]
end
我將 postgres 版本從 10.7 降級到 9.5。 它就像一個魅力!
項目中使用的postgrex
適配器版本沒有升級以連接到PostgreSQL版本 > 9.5。
也許它會在未來幫助別人。
感謝@AlekseiMatiushkin 的評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.