首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道活动的PostgreSQL查询是否仍然“工作”?

问我如何知道活动的PostgreSQL查询是否仍然“工作”?
EN

Stack Overflow用户
提问于 2016-10-25 00:49:01
回答 1查看 239关注 0票数 0

我正在使用R将一个大数据帧(2000万行)附加到PostgreSQL (9.5)。我可以看到,此操作创建了一个活动查询,使用以下方法创建了等待标志f:

代码语言:javascript
复制
select *
from pg_stat_activity
where datname = 'dbname'

查询已经运行了很长一段时间(超过一个小时),我想知道是否已经停止了。在我的Windows7ResourceMonitor中,我可以看到PostgreSQL服务器进程正在使用CPU,但它没有在磁盘活动中列出。

我还能做什么来检查查询是否因为任何原因而被停止呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-25 08:33:39

基本上,如果后端使用CPU时间,则不会停止。SQL查询可以运行很长时间。

没有合适的方法来确定一个工作的PostgreSQL后端当前正在做什么;您可以使用类似于Linux上的strace来监视发出的系统调用,或者使用gdb来获取堆栈跟踪。如果您知道如何绕过PostgreSQL源,并且知道活动查询的计划,那么您就可以猜出它正在做什么。

我的建议是看看查询计划(EXAMINE),看看是否有一些昂贵的操作(高成本)。这可能会导致较长的执行时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40229720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档