如何获取jdbc连接的本地端口?
问题描述:
据我所知,当通过JDBC建立多个Connection
对象到一个数据库时,每个连接占用建立Connection
的计算机上的一个单独的端口(它们都连接到运行DBMS的服务器上的一个端口)。如何获取jdbc连接的本地端口?
我试图提取对应于Connection
对象的端口。不幸的是,我没有找到任何方式来这样做。
背景:我正在做性能分析,我设置了多个客户端在数据库上发出查询。我在数据库服务器上记录查询的执行时间。在生成的日志中,我有 - 关于启动查询的连接的信息,例如localhost.localdomain:44760
我希望可以使用这些信息将每个查询映射到客户端,或者更准确地说,发起查询的对象(这是我的最终目标并且用于分析目的)。
答
只需通过JDBC连接运行此选择:
select inet_client_port()
更像是功能手册中:
http://www.postgresql.org/docs/current/static/functions-info.html