PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Play Nie można połączyć się z bazą danych (PostgreSQL) [domyślnie]

Tak więc ostateczna odpowiedź brzmi:

Po pierwsze, w adresie URL bazy danych jest błąd, powinien to być db.default.url="jdbc:postgresql://localhost:5432/playdb" jak wskazał chabeee . To jedyny poprawny format dla db.default.url (więc nie jdbc:postgresql://username:pasword:localhost/dbname lub podobne, jak sugerowałem w innych miejscach).

Po drugie, bardziej skomplikowane jest to, że w sterowniku jest błąd, na co wskazał Salem obejściem jest dodanie db.default.hikaricp.connectionTestQuery = "SELECT 1" do application.conf .
Jednak ten błąd został naprawiony (cóż, to obejście jest zaimplementowane) w wersjach nowszych niż 9.1-903 . Połów jest, po wersji 9.1-901 postgresql zmienił swój identyfikator grupy w repozytoriach, a teraz odwołuje się do niego org.postgresql . Lepszym rozwiązaniem niż obejście byłoby zaktualizowanie zależności do "org.postgresql" % "postgresql" % "9.4-1206-jdbc4" (aktualna wersja , MVNrepository ). Dołącz odpowiednią wersję jdbc do najnowszego sterownika PostgreSQL (4 dla Javy 6, 41 dla Javy 7, 42 dla Javy 8).

Mój ostatni application.conf :

db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgresql://localhost/playdb" #the port is optional
db.default.username="luka"
db.default.password="test"

I libraryDependencies w build.sbt :

libraryDependencies ++= Seq(
  jdbc,
  "org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
  cache,
  javaWs
)

AKTUALIZACJA 2017: Dopiero teraz zauważyłem, że niedługo po napisaniu tej odpowiedzi zmienili schemat wersjonowania i usunęli fragment -jdbc[code], zastępując go .jre6, .jre7 lub nic, najwyraźniej oznacza to, że jest przeznaczony do najnowszej wersji Javy (nie znalazłem coś na poparcie tego twierdzenia, ale to działa). Po raz kolejny w lutym 2017 r. ponownie zmienili schemat wersji i przeskoczył z wersji głównej 9 do 42, dzięki czemu bieżąca wersja (stan na 17 lipca 2017 r.) jest oznaczona przez "org.postgresql" % "postgresql" % "42.1.3" (lub odpowiednio "org.postgresql" % "postgresql" % "42.1.3.jre7" / "org.postgresql" % "postgresql" % "42.1.3.jre6" )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd Postgres we wstawianiu wsadu:relacja hibernate_sequence nie istnieje pozycja 17

  2. 5 sposobów na sprawdzenie, czy tabela istnieje w PostgreSQL

  3. Zapytanie o konkretną kolumnę JSON (postgres) za pomocą sqlalchemy

  4. Wystąpił wyjątek DBConcurrency podczas aktualizacji za pomocą adaptera danych

  5. Aplikacja Rails na Heroku nie może pisać do bazy danych PostgreSQL, tylko odczyt