GS_WLM_SESSION_QUERY_INFO_ALL

GS_WLM_SESSION_QUERY_INFO_ALL系统表显示当前数据库实例执行作业结束后的负载管理记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将内核中query信息导入GS_WLM_SESSION_QUERY_INFO_ALL系统表。查询该系统表需要sysadmin权限,且仅在数据库postgres下面查询时有数据。

表 1 GS_WLM_SESSION_QUERY_INFO_ALL字段

名称

类型

描述

datid

oid

连接后端的数据库OID。

dbname

text

连接后端的数据库名称。

schemaname

text

模式的名称。

nodename

text

语句执行的数据库实例名称。

username

text

连接到后端的用户名。

application_name

text

连接到后端的应用名。

client_addr

inet

连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。

client_hostname

text

客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。

client_port

integer

客户端用于与后端通讯的TCP端口号,如果使用Unix套接字,则为-1。

query_band

text

用于标示作业类型,可通过GUC参数query_band进行设置,默认为空字符串。

block_time

bigint

语句执行前的阻塞时间,包含语句解析和优化时间,单位ms。

start_time

timestamp with time zone

语句执行的开始时间。

finish_time

timestamp with time zone

语句执行的结束时间。

duration

bigint

语句实际执行的时间,单位ms。

estimate_total_time

bigint

语句预估执行时间,单位ms。

status

text

语句执行结束状态:正常为finished,异常为aborted。

abort_info

text

语句执行结束状态为aborted时显示异常信息。

resource_pool

text

用户使用的资源池。

control_group

text

语句所使用的Cgroup。

estimate_memory

integer

语句估算内存大小。

min_peak_memory

integer

语句在数据库实例上的最小内存峰值,单位MB。

max_peak_memory

integer

语句在数据库实例上的最大内存峰值,单位MB。

average_peak_memory

integer

语句执行过程中的内存使用平均值,单位MB。

memory_skew_percent

integer

语句数据库实例间的内存使用倾斜率。

spill_info

text

语句在数据库实例上的下盘信息:
  • None:数据库实例均未下盘。
  • All: 数据库实例均下盘。
  • [a:b]: 数量为b个数据库实例中有a个数据库实例下盘。

min_spill_size

integer

若发生下盘,数据库实例上下盘的最小数据量,单位MB,默认为0。

max_spill_size

integer

若发生下盘,数据库实例上下盘的最大数据量,单位MB,默认为0。

average_spill_size

integer

若发生下盘,数据库实例上下盘的平均数据量,单位MB,默认为0。

spill_skew_percent

integer

若发生下盘,数据库实例间下盘倾斜率。

min_dn_time

bigint

语句在数据库实例上的最小执行时间,单位ms。

max_dn_time

bigint

语句在数据库实例上的最大执行时间,单位ms。

average_dn_time

bigint

语句在数据库实例上的平均执行时间,单位ms。

dntime_skew_percent

integer

语句在数据库实例间的执行时间倾斜率。

min_cpu_time

bigint

语句在数据库实例上的最小CPU时间,单位ms。

max_cpu_time

bigint

语句在数据库实例上的最大CPU时间,单位ms。

total_cpu_time

bigint

语句在数据库实例上的CPU总时间,单位ms。

cpu_skew_percent

integer

语句在数据库实例间的CPU时间倾斜率。

min_peak_iops

integer

语句在数据库实例上的每秒最小IO峰值(列存单位是次/s,行存单位是万次/s)。

max_peak_iops

integer

语句在数据库实例上的每秒最大IO峰值(列存单位是次/s,行存单位是万次/s)。

average_peak_iops

integer

语句在数据库实例上的每秒平均IO峰值(列存单位是次/s,行存单位是万次/s)。

iops_skew_percent

integer

语句在数据库实例间的IO倾斜率。

warning

text

主要显示如下几类告警信息:
  • Spill file size large than 256MB
  • Broadcast size large than 100MB
  • Early spill
  • Spill times is greater than 3
  • Spill on memory adaptive
  • Hash table conflict

queryid

bigint

语句执行使用的内部query id。

query

text

执行的语句。

query_plan

text

语句的执行计划。

node_group

text

语句所属用户对应的逻辑数据库实例。

cpu_top1_node_name

text

cpu使用率第1的节点名称。

cpu_top2_node_name

text

cpu使用率第2的节点名称。

cpu_top3_node_name

text

cpu使用率第3的节点名称。

cpu_top4_node_name

text

cpu使用率第4的节点名称。

cpu_top5_node_name

text

cpu使用率第5的节点名称。

mem_top1_node_name

text

内存使用量第1的节点名称。

mem_top2_node_name

text

内存使用量第5的节点名称。

mem_top3_node_name

text

内存使用量第5的节点名称。

mem_top4_node_name

text

内存使用量第5的节点名称。

mem_top5_node_name

text

内存使用量第5的节点名称。

cpu_top1_value

bigint

cpu使用率。

cpu_top2_value

bigint

cpu使用率。

cpu_top3_value

bigint

cpu使用率。

cpu_top4_value

bigint

cpu使用率。

cpu_top5_value

bigint

cpu使用率。

mem_top1_value

bigint

内存使用量。

mem_top2_value

bigint

内存使用量。

mem_top3_value

bigint

内存使用量。

mem_top4_value

bigint

内存使用量。

mem_top5_value

bigint

内存使用量。

top_mem_dn

text

内存使用量topN信息。

top_cpu_dn

text

cpu使用量topN信息。

n_returned_rows

bigint

Select返回的结果集行数。

n_tuples_fetched

bigint

随机扫描行数。

n_tuples_returned

bigint

顺序扫描行数。

n_tuples_inserted

bigint

插入行数。

n_tuples_updated

bigint

更新行数。

n_tuples_deleted

bigint

删除行数。

n_blocks_fetched

bigint

Cache加载次数。

n_blocks_hit

bigint

Cache命中数。

db_time

bigint

有效的DB时间花费,多线程将累加(单位:微秒)。

cpu_time

bigint

CPU时间(单位:微秒)。

execution_time

bigint

执行器内执行时间(单位:微秒)。

parse_time

bigint

SQL解析时间(单位:微秒)。

plan_time

bigint

SQL生成计划时间(单位:微秒)。

rewrite_time

bigint

SQL重写时间(单位:微秒)。

pl_execution_time

bigint

plpgsql上的执行时间(单位:微秒)。

pl_compilation_time

bigint

plpgsql上的编译时间(单位:微秒)。

net_send_time

bigint

网络上的时间花费(单位:微秒)。

data_io_time

bigint

IO上的时间花费(单位:微秒)。

is_slow_query

bigint

标记是否为慢查询。

取值为1时表示其为慢查询。