暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB日常运维—​锁信息检查

uuuu 2023-08-10
796
锁信息检查锁:
是数据库控制并发的核心手段检查相关信息可以监控数据库的事务和运行状况。
主要涉及项:
1、锁信息
查询数据库中的锁信息
SQL>SELECT * FROM pg_locks;
查询等待锁的线程状态信息。
SQL>SELECT * FROM pg_thread_wait_status WHERE wat_status = 'acquire lock'
2、锁故障排查
在数据库出现锁竞争和阻塞时,需要排查和处理锁定,必要时通过Kill阻塞进程消除锁定。
1)查询阻塞会话
SOL>SELECT w.query as waiting_query,w.pid as w_pid,w.usename as w_user,l.query as locking_query,l.pid as l_pid,l.usename as l_user,t.schemaname || '.' || t.relname as tablenamefrom pg_stat_activity w join pg_locks l1 on w.pid = l1.pid  and not l1.granted join pg_locks l2  on l1.relation = l2.relation  and l2.granted join pg_stat_activity l on l2.pid = l.pid join pg_stat_user_tables t on l1.relation= t.relid  where w.waiting;
该查询返回会话ID、用户信息、查询状态,以及导致阻塞的表、模式信息。
2)杀阻塞会话

根据会话ID结束会话


SOL>SELECT PG_TERMINATE_BACKEND(139834762094352);
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论