杀戮和追踪 我在PostgreSQL 10.7中有一个数据库,我的一些查询花费了很长时间,但我不知道它是什么查询,我知道有可能在中间删除进程,并得到一个回溯来找出哪一个查询要花这么长时间。我怎样才能做到这一点

杀戮和追踪 我在PostgreSQL 10.7中有一个数据库,我的一些查询花费了很长时间,但我不知道它是什么查询,我知道有可能在中间删除进程,并得到一个回溯来找出哪一个查询要花这么长时间。我怎样才能做到这一点,postgresql,Postgresql,更新: 基本上,在我的应用程序中,我按了一个按钮,时间太长了,所以我只想知道什么查询花费了这么长的时间我希望下面的内容能达到高潮。下面应该给出详细的情况 create function python_version() returns text language plpythonu as $$ import sys import traceback try: return sys.version except: error = sys.exc_info()[0] d

更新:
基本上,在我的应用程序中,我按了一个按钮,时间太长了,所以我只想知道什么查询花费了这么长的时间

我希望下面的内容能达到高潮。下面应该给出详细的情况

 create function python_version()
returns text
language plpythonu
as $$

import sys
import traceback

try:
    return sys.version
except:
    error = sys.exc_info()[0]
    details = traceback.format_exc()
    plpy.error('%s: %s' % ( error, details ) )
$$;

@一匹没有名字的马现在已经被检查过了,是10.7。我更新了我的问题,回溯将显示它当前所在的位置。使用
strace
(或操作系统的等效工具)查看它发出的系统调用。你有任何理由怀疑PostgreSQL不仅仅是在运行你的查询吗?@JackDorset我在我的应用程序中按下一个按钮,有一种查询,我想杀死postress并获取一个trackback我在某处看到过这个,但记不起它是如何完成的是更新语句还是选择查询?