Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

WLM 系统表和视图

WLM 根据内部定义的 WLM 服务类 配置查询队列。Amazon Redshift 根据这些服务类及在 WLM 配置中定义的队列创建多个内部队列。在系统表中,术语队列服务类 通常可互换使用。超级用户队列使用服务类 5。用户定义的队列使用服务类 6 及更高的服务类。

您可以使用特定于 WLM 的系统表查看查询、队列和服务类的状态。查询以下系统表并注意以下事项:

  • 查看正在跟踪哪些查询,工作负载管理器分配哪些资源。

  • 查看查询被分配到哪个队列。

  • 查看工作负载管理器当前跟踪的查询的状态。

表名称 描述
STL_WLM_ERROR 包含 WLM 相关错误事件的日志。
STL_WLM_QUERY 列出 WLM 跟踪的查询。
STV_WLM_CLASSIFICATION_CONFIG 显示 WLM 的当前分类规则。
STV_WLM_QUERY_QUEUE_STATE 记录查询队列的当前状态。
STV_WLM_QUERY_STATE 提供 WLM 跟踪的查询的当前状态快照。
STV_WLM_QUERY_TASK_STATE 包含查询任务的当前状态。
STV_WLM_SERVICE_CLASS_CONFIG 记录 WLM 的服务类配置。
STV_WLM_SERVICE_CLASS_STATE 包含服务类的当前状态。

您使用任务 ID 来跟踪系统表中的查询。下面的示例介绍如何获取最近提交的用户查询的任务 ID:

Copy
select task from stl_wlm_query where exec_start_time =(select max(exec_start_time) from stl_wlm_query); task ------ 137 (1 row)

下面的示例介绍当前正在各个服务类 (队列) 中执行或等待的查询。该查询在跟踪 Amazon Redshift 的整体并发工作负载时很有用:

Copy
select * from stv_wlm_query_state order by query; xid |task|query|service_| wlm_start_ | state |queue_ | exec_ | | |class | time | |time | time ----+----+-----+--------+-------------+---------+-------+-------- 2645| 84 | 98 | 3 | 2010-10-... |Returning| 0 | 3438369 2650| 85 | 100 | 3 | 2010-10-... |Waiting | 0 | 1645879 2660| 87 | 101 | 2 | 2010-10-... |Executing| 0 | 916046 2661| 88 | 102 | 1 | 2010-10-... |Executing| 0 | 13291 (4 rows)