sql >> Database teknologi >  >> RDS >> PostgreSQL

Play Kan ikke oprette forbindelse til (PostgreSQL) database [standard]

Så det entydige svar er:

For det første er der en fejl i databasens url, den skal være db.default.url="jdbc:postgresql://localhost:5432/playdb" som chabeee påpegede . Det er det eneste korrekte format for db.default.url (så ingen jdbc:postgresql://username:pasword:localhost/dbname eller lignende, som jeg har set foreslå andre steder).

For det andet, mere vanskeligt, er, at der er en fejl i driveren, som Salem påpegede og løsningen er at tilføje db.default.hikaricp.connectionTestQuery = "SELECT 1" til application.conf .
Den fejl er dog rettet (godt, den løsning er implementeret) i versioner, der er nyere end 9.1-903 . Fangsten er efter version 9.1-901 postgresql ændrede sit gruppe-id i reposen, og nu er det refereret af org.postgresql . En bedre løsning end løsningen ville være at opdatere afhængigheder til "org.postgresql" % "postgresql" % "9.4-1206-jdbc4" (nuværende version , MVNrepository ). Tilføj den relevante jdbc-version til den seneste PostgreSQL-driver (4 for Java 6, 41 for Java 7, 42 til Java 8).

Min sidste 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"

Og libraryDependencies i build.sbt :

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

OPDATERING 2017: Jeg har først nu bemærket, at de ikke længe efter at have skrevet dette svar ændrede versionsskemaet og fjernede -jdbc[code]-fragmentet og erstattede det med .jre6, .jre7 eller ingenting, hvilket tilsyneladende betyder, at det er beregnet til den seneste Java-version (det har jeg ikke gjort) fandt noget, der understøtter denne påstand, men det virker). Endnu en gang i februar 2017 ændrede de versionsskemaet igen og sprang fra hovedversion 9 til 42, hvilket gør den nuværende version (pr. 17. juli 2017) betegnet med "org.postgresql" % "postgresql" % "42.1.3" (eller følgelig "org.postgresql" % "postgresql" % "42.1.3.jre7" / "org.postgresql" % "postgresql" % "42.1.3.jre6" )



  1. Fjern mærkelige tegn (A med hat) fra SQL Server varchar-kolonnen

  2. Sådan får du måned ved hjælp af dato i MySQL

  3. C# .NET + PostgreSQL

  4. Problemer med at optimere store forespørgsler og tabelstrukturer