PostgreSQL查看正在执行的任务并强制结束的操作方法

时间:2022-03-15 22:38:26

查看任务sql语句:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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>'
ORDER BY
  lap DESC;

其中

procpid:进程id
start:进程开始时间
lap:经过时间
current_query:执行中的sql

强制停止某一个任务:

SELECT pg_cancel_backend(进程id);

补充:

?
1
2
3
4
5
6
7
8
9
SELECT
 pid,
 datname AS db,
 query_start AS start,
 now() - query_start AS lap,
 query
FROM pg_stat_activity
WHERE state <> 'idle' and query not like '%pg_stat_activity%'
 and (now() - query_start) > interval '10 seconds';

到此这篇关于PostgreSQL查看正在执行的任务并强制结束的文章就介绍到这了,更多相关PostgreSQL查看正在执行内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_41474226/article/details/112732119