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