如何在PostgreSQL / Amazon Redshift上完成查询时(以编程方式)?

时间:2013-11-06 07:45:32

标签: sql postgresql amazon-web-services amazon-redshift

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

我有一个应用程序按顺序运行一系列SQL查询。它运行一个查询并在执行下一个查询之前等待它完成。我需要知道查询何时运行完毕。

我无法同步运行它们,因为有时候,Redshift / PostgreSQL在执行完查询后不会提供放弃控制(对于长查询)。有没有办法做到这一点?

2 个答案:

答案 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