如何设置PostgreSQL的用于播放2.0吗?(How to set up PostgreSQL

2019-06-23 21:18发布

我想配置的PostgreSQL为我播放的应用程序,但我得到以下错误:

! Internal server error, for request [GET /] ->

java.util.concurrent.TimeoutException: Futures timed out after [300000] milliseconds    at
akka.dispatch.DefaultPromise.ready(Future.scala:834)
~[akka-actor.jar:2.0]   at
akka.dispatch.DefaultPromise.result(Future.scala:838)
~[akka-actor.jar:2.0]   at akka.dispatch.Await$.result(Future.scala:74)
~[akka-actor.jar:2.0]   at
play.core.ReloadableApplication.get(ApplicationProvider.scala:108)
~[play_2.9.1.jar:2.0]   at
play.core.server.Server$class.sendHandler$1(Server.scala:59)
[play_2.9.1.jar:2.0]    at
play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:89)
[play_2.9.1.jar:2.0] [error] application - 

! @6a64i2p5o - Internal server error, for request [GET /] ->

play.api.PlayException: Not initialized [?]     at
play.api.PlayException$.apply(Exceptions.scala:122)
~[play_2.9.1.jar:2.0]   at
play.core.ReloadableApplication.<init>(ApplicationProvider.scala:94)
~[play_2.9.1.jar:2.0]   at
play.core.server.NettyServer$$anonfun$mainDev$1.apply(NettyServer.scala:165)
~[play_2.9.1.jar:2.0]   at
play.core.server.NettyServer$$anonfun$mainDev$1.apply(NettyServer.scala:164)
~[play_2.9.1.jar:2.0]   at
play.utils.Threads$.withContextClassLoader(Threads.scala:17)
~[play_2.9.1.jar:2.0]   at
play.core.server.NettyServer$.mainDev(NettyServer.scala:163)
~[play_2.9.1.jar:2.0]

我用下面的配置文件:

application.conf

db.default.url="postgres://play:play@localhost:9000/Play_Playground_DB"
db.default.user=play
db.default.password=play
db.default.driver=org.postgresql.Driver

项目/ Build.scala

val appDependencies = Seq(
  "postgresql" % "postgresql" % "9.1-901.jdbc4"
)

我建立Play_Playground_DB并且可以经由端子和命令访问它psql Play_Playground_DB

可能是什么问题的根本原因是什么?

Answer 1:

最有可能是这样的问题:

db.default.url="postgres://play:play@localhost:9000/Play_Playground_DB"

该游戏数独说,“db.default.url”是一个普通的JDBC的URL。 有两个问题与你的价值:

  • 这不是在PostgreSQL可以识别的格式。 看看这里为允许的格式。
  • 随着...default...你重新定义默认数据源。 默认情况下,除非你做一些更多的步骤,这需要麻烦。

一个有效的PostgreSQL的URL可能看起来是这样,你的情况:

jdbc:postgresql://localhost:9000/Play_Playground_DB

但是:_确定您的数据库在端口9000上运行? 你说psql Play_Playground_DB为你工作。 因此,我认为你的端口应该是默认端口5432。那么这个URL是正确的:

jdbc:postgresql://localhost/Play_Playground_DB


Answer 2:

在我的OSX,我从自制安装PostgreSQL和当前版本是9.3.4

上述连接字符串,因为他们使用的是postresql数据库名字都不为我工作。 当且仅当我指定一个像我建立连接:

db.default.url="postgres://user:password@localhost/MyDbName"

请注意,这是Postgres的 ,而不是PostgreSQL的



文章来源: How to set up PostgreSQL for Play 2.0?