文库

PostgreSQL查询正在执行的语句

PostgreSQL查询正在执行的语句

十月 30, 2019 阅读 165 字数 794 喜欢 0

procpid:进程id 如果不确认进程ID,将上面的条件去掉,可以逐条分析

start:进程开始时间

lap:经过时间

current_query:执行中的sql

怎样停止正在执行的sql SELECT pg_cancel_backend(进程id);或者select pg_terminate_backend(procpid);

 

 

SELECT procpid, START, now() - START AS lap, current_query  FROM ( SELECT backendid, pg_stat_get_backend_pid (S.backendid) AS procpid,

pg_stat_get_backend_activity_start (S.backendid) AS START,pg_stat_get_backend_activity (S.backendid) AS current_query  FROM (SELECT

pg_stat_get_backend_idset () AS backendid) AS S) AS S WHERE current_query <> '<IDLE>' and current_query <>'select 1' and

(current_query like 'select%' or current_query like 'ALTER%')

ORDER BY lap DESC;


 


SELECT pg_cancel_backend(procpid)

这种方式只能kill select查询,对updatedelete DML不生效)

 

SELECT pg_terminate_backend(procpid);

这种可以kill掉各种操作(selectupdatedeletedrop)操作



    相 关 文 章 返回顶部 上一篇 下一篇

  • PostgreSQL找回误删数据

    PostgreSQL找回误删数据

    PostgreSQL找回误删数据
  • SQL语句找某出字段中Max()值对应的记录

    SQL语句找某出字段中Max()最大值对应的记录

    SQL语句找某出字段中Max()值对应的记录
  • PG递归查询

    distinct xx和count(distinct xx)的递归优化方法 当数据量大,count(distinct xx)结果会很慢,distinct结果数量较少时,可以使用递归方法优化。distinct结果多不适用。

    PG递归查询
  • postgresql增加连接数

    postgresql修改连接数,可以在postgres.conf里面进行修改max_conection,但是当max_conection过大时,就会报错。此时我把数据库连接数设置到2000,重启后错误信息可以在server.log里看到。这时需要修改系统内核配置。

    postgresql增加连接数
  • PostgreSQL使用正则替换内容

    PostgreSQL使用正则替换内容

    PostgreSQL使用正则替换内容
  • PG shared_buffer性能检测

    很多资料说这个缓存命中率不可低于99%,如果低于了99%,表明,cache效率太低了,需要增大shared buffer。总之了,当你的shared buffer命中率太低,比如60%,基本就需要检查下你配置的shared buffers是否太小了,导致你cache利用率如此之低。

    PG shared_buffer性能检测

粤ICP备18103437号