Então, a resposta definitiva é:
Primeiro, há um erro na url do banco de dados, deve ser
db.default.url="jdbc:postgresql://localhost:5432/playdb" como chabeee apontou
. É o único formato correto para db.default.url (portanto, não jdbc:postgresql://username:pasword:localhost/dbname ou similar, como já vi sugerindo em outros lugares). Segundo, mais complicado, é que há um bug no driver, como Salem apontou e a solução alternativa é adicionar
db.default.hikaricp.connectionTestQuery = "SELECT 1" para application.conf .No entanto, esse bug foi corrigido (bem, essa solução alternativa foi implementada) em versões mais recentes que
9.1-903 . O problema é, após a versão 9.1-901 postgresql mudou seu groupID nos repositórios e agora é referenciado por org.postgresql . Uma solução melhor do que a solução alternativa seria atualizar as dependências para "org.postgresql" % "postgresql" % "9.4-1206-jdbc4" (versão atual
, MVNrepository
). Anexe a versão apropriada do jdbc ao driver PostgreSQL mais recente (4 para Java 6, 41 para Java 7, 42 para Java 8). Meu
application.conf final :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"
E
libraryDependencies em build.sbt :libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
ATUALIZAÇÃO 2017: Só agora notei que, pouco depois de escrever esta resposta, eles mudaram o esquema de versão e removeram o fragmento -jdbc[code], substituindo-o por .jre6, .jre7 ou nada, aparentemente significando que é para a versão mais recente do Java (eu não encontrei qualquer coisa que suporte esta afirmação, mas funciona). Mais uma vez, em fevereiro de 2017, eles alteraram o esquema de versão novamente e saltou da versão principal 9 para 42, tornando a versão atual (a partir de 17 de julho de 2017) denotada por
"org.postgresql" % "postgresql" % "42.1.3" (ou, portanto, "org.postgresql" % "postgresql" % "42.1.3.jre7" / "org.postgresql" % "postgresql" % "42.1.3.jre6" )