PostgreSQL中是否有命令选择到给定数据库的活动连接?
psql
声明我无法删除我的数据库之一,因为有活动连接,所以我想看看什么是连接(以及来自哪些机器)
哦,我刚刚在PostgreSQL论坛上找到了该命令:
SELECT * FROM pg_stat_activity;
以下将为您提供在postgres DB-中的活动连接/查询
SELECT
pid
,datname
,usename
,application_name
,client_hostname
,client_port
,backend_start
,query_start
,query
,state
FROM pg_stat_activity
WHERE state = 'active';
您可以使用'idle'而不是active来获取已执行的连接/查询。
SELECT * FROM pg_stat_activity WHERE datname = 'dbname' and state = 'active';
由于pg_stat_activity
包含具有任何状态(idle
或active
)的所有数据库的连接统计信息,因此应在查询中包括数据库名称和连接状态以获得所需的输出。