这是我在尝试连接到本地postgresql db时遇到的错误:
无法连接到数据库[默认]
这是数据库配置。 我确信没有拼写错误(胖手指错误):
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我可以轻松连接 感谢
答案 0 :(得分:3)
您的设置中可能有两个错误或至少可疑。
首先:postgres:...
URL语法不是普通的JDBC URL。 PostgreSQL JDBC驱动程序无法理解此格式。请参阅this answer类似的问题。
第二:您正在尝试使用PostgreSQL超级用户帐户进行播放。超级用户帐户应仅用于 用于管理工作,而不能用于“正常”工作。 特别是不适用于通过某些webfrontend包含对DB的公共访问权限的工作。任何SQL注入攻击都会为攻击者提供数据库的金钥匙 - 包括一次性破坏整个数据库集群或将任何后门安装到数据库服务器中的核心攻击。
所以我建议您创建一个在Play中配置的新用户!设置。
那就是说:postgres
用户的默认密码是而不是在Ubuntu上设置。此设置仅允许从同一 OS用户登录数据库用户。 this answer中解释了如何解决这个问题。
如果这两个提示无效:您引用的错误非常模糊。 必须更详细的错误日志某处。请找到它们并使用“编辑”按钮将它们附加到您的问题中。
答案 1 :(得分:1)
这不是您的问题的直接答案,但我有相同的错误消息,并通过谷歌来到这里。使用Scala Play 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
我不小心将引号括在了驱动程序名称周围。现在它完美无缺。
答案 2 :(得分:1)
这是我的conf,它有效:
db.default.url="jdbc:postgresql://127.0.0.1:5432/dbname"
db.default.driver="org.postgresql.Driver"
只需在jdbc:
中postgresql
之前添加db.default.url
。