我是Postgres的新手,正在unix机器上使用9.6.8版,该机器上有许多c ++可执行文件通过localhost从odbc连接到数据库。
为了追踪查询问题,我试图找出查询来自哪个可执行文件。
不幸的是,用于连接到Postgres的库没有填充pg_stat_activity
我知道pg_stat_activity
表中有一个pid,但这只会导致我进入Postgres进程,当使用ps
搜索时,它看起来像
"postgres: user schema ::1(58300) [state]" where the [state] might be "idle", "SELECT" or "UPDATE"
在撰写此问题时,我发现花括号中的数字是端口号,该端口号也在"client_port"
的{{1}}栏中给出。
所以我能够使用pg_stat_activity
最终找到我的可执行文件,并且查询确实与该过程匹配。
但是难道没有一种更简单(也许更可靠)的方法吗?