![我如何获取查询字符串,从与运行它的 Postgres 连接关联的进程 ID 开始(htop 的输出)?](https://linux22.com/image/787258/%E6%88%91%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%9F%A5%E8%AF%A2%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%8C%E4%BB%8E%E4%B8%8E%E8%BF%90%E8%A1%8C%E5%AE%83%E7%9A%84%20Postgres%20%E8%BF%9E%E6%8E%A5%E5%85%B3%E8%81%94%E7%9A%84%E8%BF%9B%E7%A8%8B%20ID%20%E5%BC%80%E5%A7%8B%EF%BC%88htop%20%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%89%EF%BC%9F.png)
我有一台机器,我们称之为DB_server
,
它连接到两台应用程序机器,
我们称之为application_server_1
和application_server_2
。
DB_server
上面托管着3个postgres数据库,
其中一个数据库的名称为centraldb
,
该数据库的一个用户的名称为central
。
在 上DB_server
,通过使用htop
,我发现有一些由postgres
用户运行的进程,与一些 postgres 命令相关联(如果我猜得没错的话,这些命令由application_server_2
连接到并使用用户server_DB
连接到数据库运行),这消耗了大量的 CPU。centraldb
central
鉴于以下的输出htop
,表明哪个进程消耗了大量的 CPU,我如何找出在这些连接上运行的查询,从而消耗了的 CPU DB_server
?
PID USER ... Command
<pid_1> postgres ... postgres: 10/central centraldb <IP_application_server_2>(<pid_2>) idle