通过JDBC连接时,在会话信息中显示应用程序名称

我使用stardard JDBC驱动程序创建了与postgres 9数据库的连接。

... Connection myCon = DriverManager.getConnection("jdbc:postgresql://localhost/test?&user=test&password=test"); ... 

当我使用PgAdmin检查服务器状态并显示所有数据库会话时,我可以看到没有为我的会话设置“应用程序名称”。 有没有办法在JDBC连接中设置应用程序名称?

从Postgres JDBC 9.1dev-900开始,可以将应用程序名称设置为连接参数:

添加对在连接启动时以及稍后通过Connection.setClientInfo设置application_name的支持。 (jurka)

例如: jdbc:postgresql://localhost:5432/DbName?ApplicationName=MyApp

Connection.setClientInfo("ApplicationName", "My App")

对于以前的版本,可以通过设置application_name运行时参数来执行此操作:

 s.execute("SET application_name TO 'MyApp'");