-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Hi, @daniel-ciocirlan!
Currently we don't test the connection to database during the app startup. Could we add a simple logging in Application.scala, like this?
import doobie.implicits.*
val appResource = for {
xa <- Database.makePostgresResource[IO](postgresConfig)
_ <- sql"select 0"
.query[Int]
.unique
.transact(xa)
.flatTap(_ => logger.info("Managed to establish connection to database"))
.onError(e => logger.error(e.getMessage))
.toResource
_ <- ...
} yield ...
}I discovered this when I realized that postgres-config.url in my application.conf was wrong.
I was getting this in the output:
Caused by: java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at org.postgresql.core.PGStream.createSocket(PGStream.java:231)
at org.postgresql.core.PGStream.<init>(PGStream.java:95)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:98)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213)
... 18 moreMetadata
Metadata
Assignees
Labels
No labels