Java 通过JDBC连接时在会话信息中显示应用程序名称
我使用stardard JDBC驱动程序创建到postgres 9数据库的连接Java 通过JDBC连接时在会话信息中显示应用程序名称,java,postgresql,jdbc,pgadmin,Java,Postgresql,Jdbc,Pgadmin,我使用stardard JDBC驱动程序创建到postgres 9数据库的连接 ... Connection myCon = DriverManager.getConnection("jdbc:postgresql://localhost/test?&user=test&password=test"); ... 当我用PgAdmin检查服务器状态并显示所有数据库会话时,我可以看到没有为我的会话设置“应用程序名称”。有没有办法在JDBC连接中设置应用程序名称?可以将应用程序名称
...
Connection myCon = DriverManager.getConnection("jdbc:postgresql://localhost/test?&user=test&password=test");
...
当我用PgAdmin检查服务器状态并显示所有数据库会话时,我可以看到没有为我的会话设置“应用程序名称”。有没有办法在JDBC连接中设置应用程序名称?可以将应用程序名称设置为连接参数,因为Postgres: 添加对在两个连接启动时设置应用程序名称的支持 然后通过Connection.setClientInfo。(朱尔卡) 例如:
jdbc:postgresql://localhost:5432/DbName?ApplicationName=MyApp
或者Connection.setClientInfo(“应用程序名”、“我的应用程序”)
对于以前的版本,可以通过设置application\u name
runtime参数来执行此操作:
s.execute("SET application_name TO 'MyApp'");
是时候回答我自己的问题了,它可以用以下代码设置:stmt=Con.prepareStatement(“SET application_name='myApp'”);stmt.execute();以防万一,这将对某人有所帮助:这可以专门针对具有附加属性的Oracle数据库执行:((BasicDataSource)datasource).addConnectionProperty(“v$session.program”,“Explicit connection label”)。这将显示在v$session Oracle视图中。当然,这种方法只适用于Oracle,您的JDBC解决方案(我不知道是谁)应该更加健壮。