暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

【学习笔记】mogdb参考指南-系统表STATEMENT_HISTORY

原创 哇哈哈 2022-12-15
379

STATEMENT_HISTORY

获得当前节点的执行语句的信息。查询系统表必须具有sysadmin权限。只可在系统库中查询到结果,用户库中无法查询。

对于此系统表查询有如下约束:

  • 必须在postgres库内查询,其它库中不存数据。
  • 此系统表受track_stmt_stat_level控制,默认为”OFF,L0”,第一部分控制Full SQL,第二部分控制Slow SQL,具体字段记录级别见下表。
  • 对于Slow SQL,当track_stmt_stat_level的值为非OFF时,且SQL执行时间超过log_min_duration_statement,会记录为慢SQL。

表 1 STATEMENT_HISTORY字段

名称类型描述记录级别
db_namename数据库名称。L0
schema_namenameschema名称。L0
origin_nodeinteger节点名称。L0
user_namename用户名。L0
application_nametext用户发起的请求的应用程序名称。L0
client_addrtext用户发起的请求的客户端地址。L0
client_portinteger用户发起的请求的客户端端口。L0
unique_query_idbigint归一化SQL ID。L0
debug_query_idbigint唯一SQL ID。L0
querytext归一化SQL。L0
start_timetimestamp with time zone语句启动的时间。L0
finish_timetimestamp with time zone语句结束的时间。L0
slow_sql_thresholdbigint语句执行时慢SQL的标准。L0
transaction_idbigint事务ID。L0
thread_idbigint执行线程ID。L0
session_idbigint用户session id。L0
n_soft_parsebigint软解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。L0
n_hard_parsebigint硬解析次数,n_soft_parse + n_hard_parse可能大于n_calls,因为子查询未计入n_calls。L0
query_plantext语句执行计划。L1
n_returned_rowsbigintSELECT返回的结果集行数。L0
n_tuples_fetchedbigint随机扫描行。L0
n_tuples_returnedbigint顺序扫描行。L0
n_tuples_insertedbigint插入行。L0
n_tuples_updatedbigint更新行。L0
n_tuples_deletedbigint删除行。L0
n_blocks_fetchedbigintbuffer的块访问次数。L0
n_blocks_hitbigintbuffer的块命中次数。L0
db_timebigint有效的DB时间花费,多线程将累加(单位:微秒)。L0
cpu_timebigintCPU时间(单位:微秒)。L0
execution_timebigint执行器内执行时间(单位:微秒)。L0
parse_timebigintSQL解析时间(单位:微秒)。L0
plan_timebigintSQL生成计划时间(单位:微秒)。L0
rewrite_timebigintSQL重写时间(单位:微秒)。L0
pl_execution_timebigintplpgsql上的执行时间(单位:微秒)。L0
pl_compilation_timebigintplpgsql上的编译时间(单位:微秒)。L0
data_io_timebigintIO上的时间花费(单位:微秒)。L0
net_send_infotext通过物理连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。L0
net_recv_infotext通过物理连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。L0
net_stream_send_infotext通过逻辑连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。L0
net_stream_recv_infotext通过逻辑连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。通过该字段可以分析SQL在分布式系统下的网络开销,单机模式下不支持该字段。例如:{“time”:xxx, “n_calls”:xxx, “size”:xxx}。L0
lock_countbigint加锁次数。L0
lock_timebigint加锁耗时。L1
lock_wait_countbigint加锁等待次数。L0
lock_wait_timebigint加锁等待耗时。L1
lock_max_countbigint最大持锁数量。L0
lwlock_countbigint轻量级加锁次数(预留)。L0
lwlock_wait_countbigint轻量级等锁次数。L0
lwlock_timebigint轻量级加锁时间(预留)。L1
lwlock_wait_timebigint轻量级等锁时间。L1
detailsbytea语句锁事件的列表,该列表按时间书序记录事件,记录的数量受参数track_stmt_details_size的影响。该字段为二进制,需要借助解析函数pg_catalog.statement_detail_decode读取,见其他函数表6
事件包括:
- 加锁开始
- 加锁结束
- 等锁开始
- 等锁结束
- 放锁开始
- 放锁结束
- 轻量级等锁开始
- 轻量级等锁结束
L2
is_slow_sqlboolean该SQL是否为slow SQL。
- t(true):表示是。
- f(false):表示不是。
L0
trace_idtext驱动传入的trace id,与应用的一次请求相关联。L0
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论