したがって、明確な答えは次のとおりです。
まず、データベースのURLに誤りがあります。これは、db.default.url="jdbc:postgresql://localhost:5432/playdb"である必要があります。 chabeeeが指摘したように
。 db.default.urlの唯一の正しい形式です (したがって、jdbc:postgresql://username:pasword:localhost/dbnameはありません または同様のもの、私が他の場所で提案しているのを見たように)。
次に、もっと注意が必要なのは、Salemが指摘した
ようにドライバーにバグがあることです。 回避策は、db.default.hikaricp.connectionTestQuery = "SELECT 1"を追加することです。 application.confへ 。
ただし、そのバグは9.1-903よりも新しいバージョンで修正されています(回避策が実装されています)。 。キャッチは、バージョン9.1-901以降です postgresqlはリポジトリ内のgroupIDを変更し、org.postgresqlによって参照されるようになりました 。回避策よりも優れた解決策は、依存関係を"org.postgresql" % "postgresql" % "9.4-1206-jdbc4"に更新することです。 (現在のバージョン
、 MVNrepository
)。適切なjdbcバージョンを最新のPostgreSQLドライバー(4)に追加します Java 6の場合、41 Java 7の場合、42 Java 8の場合)。
私の最後の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"
そしてlibraryDependencies build.sbt内 :
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
2017年の更新: この回答を書いてから間もなく、バージョン管理スキームが変更され、-jdbc [code]フラグメントが削除され、.jre6、.jre7、または何も置き換えられなかったことに気づきました。この主張を裏付けるものは何でも見つかりましたが、機能します)。さらに2017年2月に、彼らはバージョンスキームを再度変更しました
メジャーバージョン9から42にジャンプし、現在のバージョン(2017年7月17日現在)を"org.postgresql" % "postgresql" % "42.1.3"で示します。 (または、それに応じて、"org.postgresql" % "postgresql" % "42.1.3.jre7" / "org.postgresql" % "postgresql" % "42.1.3.jre6" )