内容简介:运行在–查询正在执行的–结束正在进行的R查询
运行在 AWS RDS上的PostgreSql今天TransactionID耗尽,原因是有一个 SQL 执行占用CPU超过12小时
–查询正在执行的 SQL
select * from pg_stat_activity where datname='schema名称';
–结束正在进行的R查询
select pg_cancel_backend(pid);
–结束正在执行CUD操作
select pg_terminate_backend(pid);
如何找到那些 SQL 执行时间长的SQL?
STEP1.开启pg_stat_statements 拓展,
此处需要PostgreSql支持,部分版本需要编译安装。
create extension pg_stat_statements; select pg_stat_reset(); select pg_stat_statements_reset();
STEP2.等待一段时间
STEP3.查询最耗时的SQL
select * from pg_stat_statements order by total_time desc limit 5;
STEP4.查询使用Buffer次数最多的SQL
select * from pg_stat_statements order by shared_blks_hit+shared_blks_read desc limit 5;
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。