--查看当前活动的客户端连接数
SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_pid();
--查询客户端连接的情况
SELECT pid,case when waiting='f' then 'already get lock,sql executing' when waiting='t' then 'waiting get lock,sql waiting execute' end lock_satus,
current_timestamp - least(query_start,xact_start) AS runtime,substr(query,1,25) AS current_query
FROM pg_stat_activity WHERE NOT pid=pg_backend_pid() and state<>'idle' and application_name<>'pg_statsinfod' order by runtime desc
--查看持有锁和等待锁的一些信息:
--reltype=0代表其为索引
SELECT locker.pid,
pc.relname,
locker.mode,
locker_act.application_name,
least(query_start,xact_start) start_time,
locker_act.state,
CASE
WHEN granted='f' THEN
'wait_lock'
WHEN granted='t' THEN
'get_lock'
END lock_satus,current_timestamp
postgresql 查看系统中的锁信息与锁资源
最新推荐文章于 2024-07-07 07:56:33 发布
本文介绍了如何在 PostgreSQL 中查看系统中的锁信息、活动客户端连接、事务状态以及执行的 SQL 查询。提供了多条 SQL 查询语句,帮助监控数据库锁、等待状态、事务执行情况和资源占用,以优化数据库性能。
摘要由CSDN通过智能技术生成