是否有一个插件或脚本可以跟踪Postgresql中长查询的进度?
我的意思是我需要在Java中设置与Postgres中的某些更新查询相关的进度条值.我通过互联网搜索,但我刚发现一些文件在任何RDBMS系统中都没有任何官方实现.
我在这里找到了一个很好的答案:
Tracking progress of an update statement
诀窍是首先创建一个序列(根据需要命名):
CREATE SEQUENCE query_progress START 1;
然后附加到查询的WHERE部分:
AND NEXTVAL('query_progress')!=0
现在您可以查询进度:
SELECT NEXTVAL('query_progress');
最后不要忘记摆脱序列:
DROP SEQUENCE query_progress;
请注意,这很可能会使您的查询运行速度更慢,每次检查进度时它都会增加值.上面的链接建议创建一个临时序列,但Postgresql似乎不会使它们在会话中可见.