2017-07-14 25 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