当前位置: 首页 > 编程笔记 >

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

谷梁弘深
2023-03-14
本文向大家介绍PostgreSQL查看正在执行的任务并强制结束的操作方法,包括了PostgreSQL查看正在执行的任务并强制结束的操作方法的使用技巧和注意事项,需要的朋友参考一下

查看任务sql语句:

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);

补充:

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查看正在执行内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 问题内容: 我有一个http服务器(使用启动),我想做一些操作。 我该怎么做(在Linux上)?在ctrl-C的情况下可以进行那些操作吗? 我不熟悉Unix信号,因此答案可能很简单。 问题答案: 您可以使用信号包订购TERM和INT信号。但是请注意,只有在明确终止进程时才发送这些信号。正常退出(由流程本身启动)不涉及任何信号。我认为,对于正常退出,只需在主例程中执行某些操作即可(该例程应该生成工作

  • 我正在尝试创建一个应用程序,用于查询cat图像的站点,如果JSON ID是唯一的,则将其保存到android设备,然后从设备以幻灯片格式显示它们。尽管如此,我的AsyncTask似乎并没有实际执行。调试器确认已建立网络连接,并且不会向我反馈任何错误,所以我不知道代码出了什么问题。希望有人能帮忙!代码如下:

  • 我在网上看到了很多答案,说要打击 必须使用命令,但是对该命令进行了十几次不同的尝试,结果都是类似的错误消息。 我使用Ubuntu 15.04的安装了PostgreSQL,但是PostgreSQL绝对不允许做任何事情。 我需要安装一些依赖关系或其他什么吗?

  • 查看当前项目支持哪些Gradle任务 使用.\/gradlew task来查看当前项目支持哪些Gradle任务. FirstApp$ ./gradlew task :tasks ------------------------------------------------------------ All tasks runnable from root project(所有从项目根目录

  • 我很想知道任务计划程序如何结束正在运行的任务。我已将一个应用程序添加到任务计划程序作业中,并且它接缝类似于在任务计划程序中为我的作业按 end 时(从任务计划程序启动它后),任务被窗口杀死(没有在我的应用程序中收到或消息)。我也没有找到一种方法来配置我希望如何在任务计划程序中关闭我的任务。我的目标是处理任务计划程序发送的消息(如果有)并很好地关闭我的应用程序。

  • 本文向大家介绍Mysql查询正在执行的事务以及等待锁的操作方式,包括了Mysql查询正在执行的事务以及等待锁的操作方式的使用技巧和注意事项,需要的朋友参考一下 使用navicat测试学习: 首先使用set autocommit = 0;(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚) 在打开一个执行update 查询 正在执行的事务: 根据这个事务的线程ID(tr