pg阻塞 + pg_top -- select * from pg_stat_activity where pid= pid; = postgresql 运维常用脚本 杀掉进程 - kill VACUUM full bi_dws_kpi_agency
1.查下超过10 s的查询语句
select * From pg_stat_activity where query_start<=now()- interval'10 sec' and state not in ('idle') and pid<>pg_backend_pid() and query ilike 'select%' order by query_start ;
2. 超过10s的查询会被干掉
select pg_terminate_backend(pid) From pg_stat_activity where query_start<=now()- interval'10 sec' and state not in ('idle') and pid<>pg_backend_pid() and query ilike 'select%' order by query_start ;
3. 查询现在的sql
SELECT
pid,
usename,
datname,
query_start,
STATE,
query
FROM
pg_stat_activity
WHERE
query_start >= '2021-08-25 17:46:00'
AND query_start <= '2021-08-25 17:47:50'
AND STATE NOT IN ( 'idle' )
AND pid <> pg_backend_pid ( )
AND query ILIKE'select%'
ORDER BY
query_start;
wenji发布的那些文档要找时间多看看了
5. 查看当前top SQL
1 | ### 先reset<br><br>select pg_stat_statements_reset(); |
SELECT round( ( 100 * A .total_time / SUM (A .total_time) OVER () ) :: NUMERIC, 2 ) percent, --a.dbid, b.datname, round(A .total_time :: NUMERIC, 2) AS total, A .calls, round(A .mean_time :: NUMERIC, 2) AS mean, A .query FROM pg_stat_statements A INNER JOIN pg_stat_database b ON A .dbid = b.datid ORDER BY total_time DESC LIMIT 5;
用一个例子来演示会更加清晰
分类:
postgresql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-08-10 kubernetes pvc pv 坑