如何在redshift

时间:2020-04-16 07:43:05

标签: amazon-redshift

是否可以获取给定查询操作的表?例如,下面的查询对表'abc'进行操作:

select * from abc

查询成功执行后,我们可以获取该查询实际在redshift中操作的表吗?

1 个答案:

答案 0 :(得分:1)

Harsha-是的,并有多种方式。最直接的方法是查询stl_scan系统表,该表列出了所有表扫描以及生成该扫描的查询号。您的问题是如何识别刚刚运行的查询?通过文字?通过当前会话ID? Stl_scan将为繁忙的群集提供大量数据,因此您只想查找您关心的那些行。如果是当前会话,则可以使用“ where pid =(SELECT pg_backend_pid())”来使查询由当前会话运行,但pid不在stl_scan中,因此您需要与同时具有pid和查询号的stl_query结合。您还将希望在查询中使用“ where starttime> getdate()-interval'1 hour'”,这样您就不会在所有历史记录中查找有关您刚刚运行的查询的信息。