如何在 PostgreSQL 8.4 中查看活动连接和“当前活动”

如何在 PostgreSQL 8.4 中查看活动连接和“当前活动”

我正在调查数据库连接无限期保持打开状态的问题,这会导致数据库服务器出现问题。如何查看当前打开的 PostgreSQL 服务器连接,特别是使用特定数据库的连接?理想情况下,我还想查看那里正在执行的命令。基本上,我正在寻找与 MSSQL 中的“当前活动”视图等效的东西。

答案1

好的,从别人那里得到的。此查询应该可以解决问题:

select *
from pg_stat_activity
where datname = 'mydatabasename';

答案2

也可以看看pg-top,其作用与 top 类似,只不过它显示的是 postgres 活动。

  • 安装 pg-top(在 Debian 中,该包被称为“ptop”)。
  • 成为 postgres 用户(例如sudo su postgres
  • 跑步pg_top

答案3

参考自本文。

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query  
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();

答案4

PostgreSQL ASH 查看器(PASH 查看器)提供活动会话历史数据的图形视图。 https://github.com/dbacvetkov/PASH-Viewer 它是免费且开源的。

截屏

相关内容