2

有没有办法以编程方式检查 Redshift/PostgreSQL 中的查询状态?我如何知道查询何时完成运行?

我有一个应用程序可以按顺序运行一系列 SQL 查询。它运行一个查询并等待它完成,然后再执行下一个查询。我需要知道查询何时完成运行。

我无法同步运行它们,因为有时 Redshift/PostgreSQL 在执行完查询后不提供放弃控制(对于长查询)。有什么办法吗?

4

2 回答 2

4

查看 Redshift 中的stv_recents表。

例如,要检索当前运行的查询列表,请运行:

select pid, trim(user_name), starttime, query
from stv_recents
where status = 'Running'
order by starttime ASC; 
于 2013-11-06T10:34:07.360 回答
2

当查询完成时,Redshift 总是放弃控制。如果您的应用程序没有收到该控制,则意味着您遇到了 TCP 超时/保持连接问题。

以下是解决此问题的文档:http: //docs.aws.amazon.com/redshift/latest/mgmt/connecting-firewall-guidance.html

于 2013-11-08T15:22:46.137 回答