更新时间:2024-12-30 GMT+08:00

PGXC_WLM_SESSION_HISTORY

PGXC_WLM_SESSION_HISTORY视图显示在所有CN上执行作业结束后的负载管理记录。此视图用于从GaussDB(DWS)数据库中查询数据,数据库中的数据会被定时清理,清理周期为3分钟。

PGXC_WLM_SESSION_HISTORY视图仅支持在postgres数据库中查询,其它数据库中查询会直接报错。

PGXC_WLM_SESSION_HISTORY视图的字段同GS_WLM_SESSION_HISTORY相同,具体字段内容如下:

表1 GS_WLM_SESSION_HISTORY字段

名称

类型

描述

datid

oid

连接后端的数据库OID。

dbname

text

连接后端的数据库名称。

schemaname

text

模式名。

nodename

text

语句执行的CN名称。

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。该处记录的语句状态应为数据库服务端执行状态,当服务器端执行成功,结果集返回时报错,该语句应为finished。

abort_info

text

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

resource_pool

text

用户使用的资源池。

control_group

text

语句所使用的Cgroup。

estimate_memory

integer

语句在单个实例上预估使用的内存,单位MB。该字段只有当GUC参数enable_dynamic_workload为on时才有效。

min_peak_memory

integer

语句在所有DN上的最小内存峰值,单位MB。

max_peak_memory

integer

语句在所有DN上的最大内存峰值,单位MB。

average_peak_memory

integer

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

memory_skew_percent

integer

语句各DN间的内存使用倾斜率。

spill_info

text

语句在所有DN上的下盘信息:

None:所有DN均未下盘。

All:所有DN均下盘。

[a:b]:数量为b个DN中有a个DN下盘。

min_spill_size

integer

若发生下盘,所有下盘DN的最小下盘数据量(MB),默认为0。

max_spill_size

integer

若发生下盘,所有下盘DN的最大下盘数据量(MB),默认为0。

average_spill_size

integer

若发生下盘,所有下盘DN的平均下盘数据量(MB),默认为0。

spill_skew_percent

integer

若发生下盘,DN间下盘倾斜率。

min_dn_time

bigint

语句在所有DN上的最小执行时间,单位ms。

max_dn_time

bigint

语句在所有DN上的最大执行时间,单位ms。

average_dn_time

bigint

语句在所有DN上的平均执行时间,单位ms。

dntime_skew_percent

integer

语句在各DN间的执行时间倾斜率。

min_cpu_time

bigint

语句在所有DN上的最小CPU时间,单位ms。

max_cpu_time

bigint

语句在所有DN上的最大CPU时间,单位ms。

total_cpu_time

bigint

语句在所有DN上的CPU总时间,单位ms。

cpu_skew_percent

integer

语句在DN间的CPU时间倾斜率。

min_peak_iops

integer

语句在所有DN上的每秒最小IO峰值(列存单位是次/s,行存单位是万次/s)。

max_peak_iops

integer

语句在所有DN上的每秒最大IO峰值(列存单位是次/s,行存单位是万次/s)。

average_peak_iops

integer

语句在所有DN上的每秒平均IO峰值(列存单位是次/s,行存单位是万次/s)。

iops_skew_percent

integer

语句在DN间的IO倾斜率。

warning

text

主要显示如下几类告警信息以及SQL自诊断调优相关告警:

  1. Spill file size large than 256MB
  2. Broadcast size large than 100MB
  3. Early spill
  4. Spill times is greater than 3
  5. Spill on memory adaptive
  6. Hash table conflict

queryid

bigint

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

query

text

执行的语句,最多可保留64KB长度的字符串。

query_plan

text

语句的执行计划。

规格限制:

  1. DML语句都会显示执行计划,DDL语句不显示执行计划。
  2. 当用户下发PBE(Parse Bind Execute)批处理语句时,为了便于分析语句情况,自8.2.1.100集群版本开始,为批处理的PBE语句的执行计划添加数据绑定次数,显示为“PBE bind times:次数”格式。

node_group

text

语句所属用户对应的逻辑集群。

pid

bigint

语句的后端线程的pid。

lane

text

语句执行时所在的快慢车道。

unique_sql_id

bigint

归一化的Unique SQL ID。

session_id

text

在数据库系统中唯一标记一个session,格式:session_start_time.tid.node_name。

min_read_bytes

bigint

语句在所有DN上的最小IO读字节数,单位Bytes。

max_read_bytes

bigint

语句在所有DN上的最大IO读字节数,单位Bytes。

average_read_bytes

bigint

语句在所有DN上的平均IO读字节数,单位Bytes。

min_write_bytes

bigint

语句在所有DN上的最小IO写字节数,单位Bytes。

max_write_bytes

bigint

语句在所有DN上的最大IO写字节数,单位Bytes。

average_write_bytes

bigint

语句在所有DN上的平均IO写字节数,单位Bytes。

recv_pkg

bigint

语句在所有DN上的通信包接收总量,单位packages。

send_pkg

bigint

语句在所有DN上的通信包发送总量,单位packages。

recv_bytes

bigint

语句在所有DN上的通信流接收数据总量,单位Byte。

send_bytes

bigint

语句在所有DN上的通信流发送数据总量,单位Byte。

stmt_type

text

语句对应的查询类型。

except_info

text

语句触发的异常规则信息。

unique_plan_id

bigint

归一化的Unique plan id。

sql_hash

text

归一化的sql hash。

plan_hash

text

归一化的plan hash。

use_plan_baseline

text

当前语句执行是否使用了绑定的计划。如果使用了,则显示pg_plan_baseline中的plan_baseline列的名字。

outline_name

text

该语句计划对应的outline的名字。

loader_status

text

保存导入导出类业务信息的json串具体如下。

  1. address:互联互通对端集群的地址,源集群会显示端口号。
  2. direction:导入导出业务类型,取值包括gds to file、gds from file、gds to pipe、gds from pipe、copy from、copy to。
  3. min/max/total_lines/bytes:导入导出语句在所有DN上字节数的行数/最小值/最大值/总和。

parse_time

bigint

语句排队前的解析总时间(包含词法语法解析,优化重写和计划生成时间),单位ms。该字段仅8.3.0.100及以上集群版本支持。

disk_cache_hit_ratio

numeric(5,2)

磁盘缓存命中率 。该字段仅对存算分离3.0表及外表生效。

disk_cache_disk_read_size

bigint

读取磁盘缓存数据的总大小,单位MB。该字段仅对存算分离3.0表及外表生效。

disk_cache_disk_write_size

bigint

写入磁盘缓存的数据总大小,单位MB。该字段仅对存算分离3.0表及外表生效。

disk_cache_remote_read_size

bigint

读取磁盘缓存失败,远程直读OBS的总大小,单位MB。该字段仅对存算分离3.0表及外表生效。

disk_cache_remote_read_time

bigint

读取磁盘缓存失败,远程直读OBS的次数。该字段仅对存算分离3.0表及外表生效。

vfs_scan_bytes

bigint

OBS虚拟文件系统接收到上层请求的扫描的字节数,单位Bytes。该字段仅对存算分离3.0表及外表生效。

vfs_remote_read_bytes

bigint

OBS虚拟文件系统实际从OBS读取的字节数,单位Bytes。该字段仅对存算分离3.0表及外表生效。

preload_submit_time

bigint

预读流程提交IO请求的总时间,单位μs。该字段仅对存算分离3.0表生效。

preload_wait_time

bigint

预读流程等待IO请求的总时间,单位μs。该字段仅对存算分离3.0表生效。

preload_wait_count

bigint

预读流程等待IO请求的总次数。该字段仅对存算分离3.0表生效。

disk_cache_load_time

bigint

读取磁盘缓存的总时间,单位μs。该字段仅对存算分离3.0表及外表生效。

disk_cache_conflict_count

bigint

读取磁盘缓存中block产生哈希冲突的次数。该字段仅对存算分离3.0表及外表生效。

disk_cache_error_count

bigint

读取磁盘缓存失败的次数。该字段仅对存算分离3.0表及外表生效。

disk_cache_error_code

bigint

读取磁盘缓存失败的错误码,可能产生多个错误码,读取磁盘缓存失败会发起OBS远程读并重写缓存块,错误码类型如下。该字段仅对3.0表及外表生效。

  • 1:磁盘缓存块产生哈希冲突。
  • 2:磁盘缓存块的生成时间晚于OldestXmin事务。
  • 4:磁盘缓存读取缓存文件调用pread系统调用失败。
  • 8:磁盘缓存块的数据版本不匹配。
  • 16:写缓存写入的数据版本与最新版本不匹配。
  • 32:打开缓存块对应的缓存文件失败。
  • 64:磁盘缓存读取数据大小不匹配。
  • 128:磁盘缓存块中记录的csn不匹配。

obs_io_req_avg_rtt

bigint

OBS IO请求的平均RTT(Round Trip Time,IO请求往返时间),单位为μs。该字段仅对存算分离3.0表及外表生效。

obs_io_req_avg_latency

bigint

OBS IO请求的平均延迟,单位为μs。该字段仅对存算分离3.0表及外表生效。

obs_io_req_latency_gt_1s

bigint

OBS IO请求延迟超过1s的数量。该字段仅对存算分离3.0表及外表生效。

obs_io_req_latency_gt_10s

bigint

OBS IO请求延迟超过10s的数量。该字段仅对存算分离3.0表及外表生效。

obs_io_req_count

bigint

OBS IO请求的总数量。该字段仅对存算分离3.0表及外表生效。

obs_io_req_retry_count

bigint

OBS IO请求重试的总次数。该字段仅对存算分离3.0表及外表生效。

obs_io_req_rate_limit_count

bigint

OBS IO请求被流控的总次数。该字段仅对存算分离3.0表及外表生效。