玩! 框架 - 无法连接到数据库(Play! framework - Cannot connec

2019-07-30 17:55发布

这是当我试图连接到我的本地的PostgreSQL数据库出现错误:

无法连接到数据库[默认]

这是数据库配置。 我相信,有没有错字(胖手指错误):

db.default.url="postgres://localhost:5432/myproject/"
db.default.user="postgres"
db.default.pass="mypassword"
db.default.driver="org.postgresql.Driver"
db.default.initSQL="SELECT 1" 

问题出在哪儿? 与pgAdmin的,我可以很容易地连接
PS
我使用Ubuntu。 我注意到,为了改变用户的Postgres
我必须使用“苏”,否则它无法改变当前用户。
是有事情做与玩! 无法连接我的数据库?

谢谢

Answer 1:

可能有件事情错了,或者至少在怀疑你的设置。

第一: postgres:... URL语法是不是一个普通的JDBC URL。 这种格式不被PostgreSQL JDBC驱动的理解。 见这个答案给了类似的问题。

第二:您正在尝试使用PostgreSQL超级用户帐号的播放。 超级用户帐户应该用于行政工作,而不是“正常”的工作。 尤其不适合的工作,其中包括通过一些webfrontend公众访问的数据库。 任何SQL注入攻击使攻击者的金钥匙你的数据库 - 其中包括核弹,以破坏你的完整数据库集群一次或安装任何后门进入你DB服务器。

所以我推荐,你创造出你在游戏配置新用户! 设置。

这就是说:对于默认密码postgres用户没有设置在Ubuntu上。 这种设置允许登录到只能从同一OS用户 数据库用户 。 你如何解决此问题在解释这个答案 。

如果这两个提示无法帮助:你报的错误是非常模糊的。 必须地方更详细的错误日志。 请发现它们,并将它们连接到你的问题的“编辑”按钮。



Answer 2:

这不是直接回答你的问题,但我有同样的错误消息,来到这里通过谷歌。 使用Scala的玩2.3,我有

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://127.0.0.1:5432/noob_development"
db.default.logStatements=true

是其需要

db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgresql://127.0.0.1:5432/noob_development"
db.default.logStatements=true

我不小心留下司机周围的名字了引号。 现在,它完美的作品。



Answer 3:

这里是我的conf,它的工作原理:

db.default.url="jdbc:postgresql://127.0.0.1:5432/dbname"
db.default.driver="org.postgresql.Driver"

只需添加jdbc:之前postgresqldb.default.url



文章来源: Play! framework - Cannot connect to database