我有一个Redshift集群与通过工作负载管理(WLM)监视查询的参数组关联。每当扫描的行数超过阈值(例如100)时,我就有执行“日志”操作的规则。Redshift不记录到STL_WLM_RULE_ACTION
但是,当我执行满足规则的SQL查询,然后检查STL_WLM_RULE_ACTION
表(其中应该记录查询的表)时,该表为空。这是为什么发生?我错过了什么吗?
我有一个Redshift集群与通过工作负载管理(WLM)监视查询的参数组关联。每当扫描的行数超过阈值(例如100)时,我就有执行“日志”操作的规则。Redshift不记录到STL_WLM_RULE_ACTION
但是,当我执行满足规则的SQL查询,然后检查STL_WLM_RULE_ACTION
表(其中应该记录查询的表)时,该表为空。这是为什么发生?我错过了什么吗?
你是以超级用户身份连接吗?只有超级用户才能看到STL_WLM_RULE_ACTION中的所有数据,其他用户只会查看自己查询的行。如果您以一个用户身份执行查询,那么在连接成另一个(非超级用户)用户时检查STL_WLM_RULE_ACTION,您将可能看不到任何行。
Nathan的回答(关于STL_WLM_RULE_ACTION
中的数据可见性)是一个很好的答案。
你应该是你的参数组已应用于也仔细检查:
Cluster Properties
下群集上Clusters
页Configuration
标签,是Cluster Parameter Group
设置为正确的组?
如果你想要的参数组还没有应用,那么:
Configuration
选项卡,单击Cluster
下拉菜单,然后选择Modify
。使用Cluster Parameter Group
选择正确的组。Modify
来应用新的参数组。Parameter Group Apply Status
显示“需要重新启动”,则单击Cluster
下拉列表并选择Reboot
。是的,我已经应用了正确的参数组,但无论如何我都会遇到问题。 – charmander
@charmander只有当查询受到WLM规则影响时才会有条目。例如,你是否收到“查询中止”的消息,然后_然后_发现该表中没有任何内容? –
现在,我只设置查询操作来记录查询,如果超过某个阈值。我针对它运行了跨越该阈值的查询,但没有记录任何内容。 – charmander
我作为超级用户进行连接,并且正在执行查询并将该表作为同一用户进行检查。 – charmander