Play Framework PostgreSQL db.default.username默认为linux用户名

时间:2016-07-20 14:43:59

标签: postgresql jdbc playframework playframework-2.0 playframework-2.3

我一直收到这样的错误......

LE Set Scan

不仅仅是在Heroku中,而是当我使用名称与数据库中的默认用户名不同的用户运行我的Play应用程序时。

我的Play框架“application.conf”是这样的......

app[web.1]: Configuration error: Configuration error[Cannot connect to database [default]]
app[web.1]:    at scala.collection.immutable.List.foreach(List.scala:381)

app[web.1]: Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "lcnjgrwbmbffwv"
app[web.1]:    at play.core.StaticApplication.<init>(ApplicationProvider.scala:55)
app[web.1]:    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:408)
app[web.1]:    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
app[web.1]:    at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31)
app[web.1]:    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
app[web.1]:    at org.postgresql.Driver.makeConnection(Driver.java:410)
app[web.1]:    at java.sql.DriverManager.getConnection(DriverManager.java:664)
app[web.1]:    at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363)
app[web.1]:    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:240)
app[web.1]:    at java.sql.DriverManager.getConnection(DriverManager.java:247)
app[web.1]:    at org.postgresql.Driver.connect(Driver.java:280)
app[web.1]:    at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416)
app[web.1]:    at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120)
app[web.1]:    at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
app[web.1]:    ... 18 more
heroku[web.1]: Process exited with status 255

这就是事情。当我的终端用户名为“nameOfDatabaseUser”时,它可以工作。但是当我的终端用户具有不同的名称时,它将作为当前Linux终端用户的名称连接到数据库。

在上述情况下,似乎Heroku尝试以用户 lcnjgrwbmbffwv 连接,并且数据库中没有用户 lcnjgrwbmbffwv

如何指定默认数据库用户名,以便它不使用我的终端用户名?

1 个答案:

答案 0 :(得分:0)

指定用户的正确键是db.default.user,而不是db.default.username