【问题标题】:Play Framework PostgreSQL db.default.username defaulting to linux usernamePlay Framework PostgreSQL db.default.username 默认为 linux 用户名
【发布时间】:2016-07-20 14:43:58
【问题描述】:

我不断收到这样的错误...

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

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

我的Play Framework“application.conf”是这样的……

db.default.username="nameOfDatabaseUser"
db.default.password="passOfDatabaseUser"
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://urlofdatabase:5432/name_of_database"

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 2017-07-17
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多