Parsuję PostgreSQL w moich ustawieniach konfiguracji na Heroku. Ale nie mogę sprawić, żeby działało. Każda pomoc będzie bardzo doceniona, prawdopodobnie brakuje mi czegoś prostego.Problemy z łączeniem się z postgresql DB na Heroku z Korma (Clojure)
Oto kod używany.
(def dev-db-info
{:db "dbname"
:user "username"})
(defn parse-db-uri
[uri]
(drop 1 (split uri #"://|:|@|/")))
(defn create-map-from-uri
[uri]
(let [parsed (parse-db-uri uri)]
(zipmap [:user :password :host :port :db] parsed)))
(defn db-info
[]
(if production?
(create-map-from-uri (System/getenv "DATABASE_URL"))
dev-db-info))
(defdb connected-db
(postgres (db-info)))
Mapa odzyskać z URI wygląda następująco:
{:db "dbname"
:port "5662"
:host "ec2-url.compute-1.amazonaws.com"
:password "pwd"
:user "username"}
pojawia się następujący błąd:
Connections could not be acquired from the underlying database!
EDIT:
Mam ponieważ zrezygnowali za pomocą Korma i przełączono na Clojure.JDBC 0.2.3, który obsługuje połączenia "uri", a zatem połączenia ssl do d b. Korma obecnie nie obsługuje tego. Złożę problem na Github, aby umożliwić tę metodę połączenia.
Czy istnieje jakiś sposób, aby dostać się komunikat o błędzie z silnika bazy podstawowej - konkretnie błąd podniesiony przez PgJDBC , jeśli tego właśnie używasz? "odmowa połączenia" lub "brak wpisu pg_hba.conf dla ...", itp. –
Spojrzę na Craiga. Myślę, że jest dziennik db w postgres.heroku – conorwade
Oto komunikat dziennika - FATAL: brak wpisu pg_hba.conf dla hosta "x.x.x.x", użytkownik "nazwa użytkownika", baza danych "nazwa_bdb", SSL wyłączony – conorwade