3

这是我尝试连接到本地 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 用户
,我必须使用 "su",否则更改当前用户失败。
是不是跟玩有关系!无法连接我的数据库?

谢谢

4

3 回答 3

2

在您的设置中可能有件事是错误的或至少是可疑的。

首先:postgres:...URL 语法不是纯 JDBC URL。PostgreSQL JDBC 驱动程序不理解这种格式。请参阅类似问题的答案。

第二:您正在尝试使用 PostgreSQL 超级用户帐户进行 Play。超级用户帐户只能用于管理工作,而不是“正常”工作。尤其不适用于包括通过某些 Web 前端对数据库进行公共访问的工作。任何 SQL 注入攻击都会为攻击者提供您数据库的金钥匙 - 包括立即破坏您的完整数据库集群或在您的数据库服务器中安装任何后门的核弹。

因此,我建议您创建一个在 Play 中配置的新用户!设置。

也就是说:Ubuntu 上postgres设置用户的默认密码。此设置仅允许从同一操作系统用户登录到DB用户。此答案中解释了如何解决此问题。

如果这两个提示没有帮助:您引用的错误非常模糊。某处必须有更详细的错误日志。请找到它们并使用“编辑”按钮将它们附加到您的问题中。

于 2012-08-03T07:49:50.600 回答
2

这不是您问题的直接答案,但我收到了相同的错误消息并通过 Google 来到这里。使用 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

我不小心把司机名字的引号去掉了。现在它完美地工作了。

于 2014-08-12T01:52:45.580 回答
2

这是我的conf,它有效:

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

只需jdbc:在. postgresql_db.default.url

于 2015-05-28T11:31:37.987 回答