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"
)