有没有办法以编程方式检查Redshift / PostgreSQL中的查询状态? 我怎么知道查询何时完成运行?
我有一个应用程序按顺序运行一系列SQL查询。它运行一个查询并在执行下一个查询之前等待它完成。我需要知道查询何时运行完毕。
我无法同步运行它们,因为有时候,Redshift / PostgreSQL在执行完查询后不会提供放弃控制(对于长查询)。有没有办法做到这一点?
答案 0 :(得分:4)
在Redshift中查看 stv_recents 表。
例如,要检索当前运行的查询列表:
select pid, trim(user_name), starttime, query
from stv_recents
where status = 'Running'
order by starttime ASC;
答案 1 :(得分:2)
Redshift在查询完成时总是放弃控制权。如果您的应用程序没有收到该控件,则表示您遇到了TCP超时/保持连接问题。
以下是解决此问题的文档:http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-firewall-guidance.html