Postgres:查找执行特定查询的主机进程

时间:2018-12-03 08:50:45

标签: postgresql unix

我是Postgres的新手,正在unix机器上使用9.6.8版,该机器上有许多c ++可执行文件通过localhost从odbc连接到数据库。

为了追踪查询问题,我试图找出查询来自哪个可执行文件。

不幸的是,用于连接到Postgres的库没有填充pg_stat_activity

中的application_name。

我知道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最终找到我的可执行文件,并且查询确实与该过程匹配。

但是难道没有一种更简单(也许更可靠)的方法吗?

0 个答案:

没有答案