How to set application name in a Postgresql JDBC url?

Stephan picture Stephan · Oct 7, 2013 · Viewed 18.6k times · Source

I want to set the application name of the connections of my application. So when I list the rows in pg_stat_activity I can have a non empty application_name column.

I have setup the following JDBC url for connecting to my Postgresql database:

jdbc:postgresql://localhost:5435/MyDB?application-name=MyApp

I have tried also this url with no more success.

jdbc:postgresql://localhost:5435/MyDB?application_name=MyApp

What is the correct parameter name ?

Here is my JDBC driver version: 9.1-901.jdbc4

Answer

Mark Rotteveel picture Mark Rotteveel · Oct 7, 2013

Looking at the PostgreSQL JDBC 9.1 documentation, connection parameters, the correct property name in the JDBC url is ApplicationName:

ApplicationName = String

Specifies the name of the application that is using the connection. This allows a database administrator to see what applications are connected to the server and what resources they are using through views like pg_stat_activity

So try:

jdbc:postgresql://localhost:5435/MyDB?ApplicationName=MyApp

Be aware some comments suggest that this is broken in the 9.1 version driver. Given it is a more than 5 year old version, you should upgrade to a newer version anyway. Check https://jdbc.postgresql.org/ for the latest version and use that.