ich immer Fehler wie diese bekommen ...Play-Framework-PostgreSQL db.default.username säumigen auf Linux-Benutzernamen
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
Nicht nur in Heroku, aber wenn ich meine Play-App mit einem Benutzer, deren Namen ausgeführt ist anders als der Standardbenutzername in der Datenbank.
My Play Framework "application.conf" das ist wie ...
db.default.username="nameOfDatabaseUser"
db.default.password="passOfDatabaseUser"
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://urlofdatabase:5432/name_of_database"
Hier ist das Ding. Wenn mein Terminalbenutzer "nameOfDatabaseUser" heißt, funktioniert er. Wenn mein Terminalbenutzer jedoch einen anderen Namen hat, stellt er eine Verbindung mit der Datenbank als Name des aktuellen Linux-Terminalbenutzers her.
Im obigen Fall scheint es, dass Heroku als Benutzer lcnjgrwbmbffwv zu verbinden versucht und es gab keine Benutzer lcnjgrwbmbffwv in der Datenbank.
Wie kann ich den Benutzernamen der Standarddatenbank angeben, damit er nicht meinen Terminalbenutzernamen verwendet?