2017-07-14 51 views
1

我有一个Redshift集群与通过工作负载管理(WLM)监视查询的参数组关联。每当扫描的行数超过阈值(例如100)时,我就有执行“日志”操作的规则。Redshift不记录到STL_WLM_RULE_ACTION

但是,当我执行满足规则的SQL查询,然后检查STL_WLM_RULE_ACTION表(其中应该记录查询的表)时,该表为空。这是为什么发生?我错过了什么吗?

回答

1

你是以超级用户身份连接吗?只有超级用户才能看到STL_WLM_RULE_ACTION中的所有数据,其他用户只会查看自己查询的行。如果您以一个用户身份执行查询,那么在连接成另一个(非超级用户)用户时检查STL_WLM_RULE_ACTION,您将可能看不到任何行。

+0

我作为超级用户进行连接,并且正在执行查询并将该表作为同一用户进行检查。 – charmander

0

Nathan的回答(关于STL_WLM_RULE_ACTION中的数据可见性)是一个很好的答案。

你应该是你的参数组已应用于仔细检查:

  • 在AWS红移控制台中,选择Cluster Properties下群集上Clusters
  • Configuration标签,是Cluster Parameter Group设置为正确的组?
    • 您可以点击参数组名称进入并确认。

如果你想要的参数组还没有应用,那么:

  • Configuration选项卡,单击Cluster下拉菜单,然后选择Modify。使用Cluster Parameter Group选择正确的组。
  • 仔细查看其他选项以避免意外更改。
  • 点击Modify来应用新的参数组。
  • 如果Parameter Group Apply Status显示“需要重新启动”,则单击Cluster下拉列表并选择Reboot
+0

是的,我已经应用了正确的参数组,但无论如何我都会遇到问题。 – charmander

+0

@charmander只有当查询受到WLM规则影响时才会有条目。例如,你是否收到“查询中止”的消息,然后_然后_发现该表中没有任何内容? –

+0

现在,我只设置查询操作来记录查询,如果超过某个阈值。我针对它运行了跨越该阈值的查询,但没有记录任何内容。 – charmander