华为云用户手册

  • STATEMENT 获得当前节点的执行语句(归一化SQL)的信息。查询视图必须具有sysadmin权限或者monitor admin权限。CN上可以看到此CN接收到的归一化的SQL的全量统计信息(包含DN);DN上仅可看到归一化的SQL的此节点执行的统计信息。 表1 STATEMENT字段 名称 类型 描述 node_name name 节点名称。 node_id integer 节点的ID(pgxc_node中的node_id)。 user_name name 用户名称。 user_id oid 用户OID。 unique_sql_id bigint 归一化的SQL ID。 query text 归一化的SQL。 备注:长度受track_activity_query_size控制。 n_calls bigint 调用次数。 min_elapse_time bigint SQL在内核内的最小运行时间(单位:微秒)。 max_elapse_time bigint SQL在内核内的最大运行时间(单位:微秒)。 total_elapse_time bigint SQL在内核内的总运行时间(单位:微秒)。 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 buffer的块访问次数。 n_blocks_hit bigint buffer的块命中次数。 n_soft_parse bigint 软解析次数, n_soft_parse + n_hard_parse可能大于n_calls, 因为子查询未计入n_calls。 n_hard_parse bigint 硬解析次数, n_soft_parse + n_hard_parse可能大于n_calls, 因为子查询未计入n_calls。 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上的编译时间(单位:微秒)。 data_io_time bigint IO上的时间花费(单位:微秒)。 net_send_info text 通过物理连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。在 分布式数据库 中,CN与CN、CN与客服端以及CN与DN之间都是通过物理连接进行通信,通过该字段可以分析SQL在分布式系统下的网络开销。 例如:{"time":xxx, "n_calls":xxx, "size":xxx} net_recv_info text 通过物理连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。在分布式数据库中,CN与CN、CN与客服端以及CN与DN之间都是通过物理连接进行通信,通过该字段可以分析SQL在分布式系统下的网络开销。 例如:{"time":xxx, "n_calls":xxx, "size":xxx} net_stream_send_info text 通过逻辑连接发送消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。在分布式数据库中,不同分片的DN之间通过逻辑连接进行通信,通过该字段可以分析SQL在分布式系统下的网络开销。 例如:{"time":xxx, "n_calls":xxx, "size":xxx} net_stream_recv_info text 通过逻辑连接接收消息的网络状态,包含时间(微秒)、调用次数、吞吐量(字节)。在分布式数据库中,不同分片的DN之间通过逻辑连接进行通信,通过该字段可以分析SQL在分布式系统下的网络开销。 例如:{"time":xxx, "n_calls":xxx, "size":xxx} last_updated timestamp with time zone 最后一次更新该语句的时间。 sort_count bigint 排序执行的次数。 sort_time bigint 排序执行的时间(单位:微秒)。 sort_mem_used bigint 排序过程中使用的work memory大小(单位:KB)。 sort_spill_count bigint 排序过程中,若发生落盘,写文件的次数。 sort_spill_size bigint 排序过程中,若发生落盘,使用的文件大小(单位:KB)。 hash_count bigint hash执行的次数。 hash_time bigint hash执行的时间(单位:微秒)。 hash_mem_used bigint hash过程中使用的work memory大小(单位:KB)。 hash_spill_count bigint hash过程中,若发生落盘,写文件的次数。 hash_spill_size bigint hash过程中,若发生落盘,使用的文件大小(单位:KB)。 父主题: Query
  • GLOBAL_ACTIVE_SESSION GLOBAL_ACTIVE_SESSION视图显示所有节点上的ACTIVE SESSION PROFILE内存中的样本的汇总。 表1 GLOBAL_ACTIVE_SESSION字段 名称 类型 描述 node_name text 节点名称。 sampleid bigint 采样ID。 sample_time timestamp without time zone 采样的时间。 need_flush_sample boolean 该样本是否需要刷新的磁盘。 databaseid oid 数据库ID。 thread_id bigint 线程的ID。 sessionid bigint 会话的ID。 start_time timestamp without time zone 会话的启动时间。 event text 具体的事件名称。 lwtid integer 当前线程的轻量级线程号。 psessionid bigint streaming线程的父线程。 tlevel integer streaming线程的层级。与执行计划的层级(id)相对应。 smpid integer smp执行模式下并行线程的并行编号。 userid oid session用户的id。 application_name text 应用的名称。 client_addr inet client端的地址。 client_hostname text client端的名称。 client_port integer 客户端用于与后端通讯的TCP端口号。 query_id bigint debug query id unique_query_id bigint unique query id user_id oid unique query的key中的user_id。 cn_id integer cn id,在DN上表示该unique sql来之该CN节点,unique query的key中的cn_id。 unique_query text 规范化后的UniqueSQL文本串。 locktag text 会话等待锁信息,可通过locktag_decode解析。 lockmode text 会话等待锁模式。 block_sessionid bigint 如果会话正在等待锁,阻塞该会话获取锁的会话标识。 final_block_sessionid bigint 表示源头阻塞会话id。 wait_status text 描述event列的更多详细信息。 global_sessionid text 全局会话ID。 xact_start_time timestamp with time zone 事务开始时间。 query_start_time timestamp with time zone 语句开始执行时间。 state text 当前语句状态。 可能取值为:active, idle in transaction, fastpath function call, idle in transaction (aborted), disabled, retrying。 父主题: Session/Thread
  • LOCAL_ACTIVE_SESSION LOCAL_ACTIVE_SESSION视图显示本节点上的ACTIVE SESSION PROFILE内存中的样本。 表1 LOCAL_ACTIVE_SESSION字段 名称 类型 描述 sampleid bigint 采样ID。 sample_time timestamp with time zone 采样的时间。 need_flush_sample boolean 该样本是否需要刷新的磁盘。 databaseid oid 数据库ID thread_id bigint 线程的ID。 sessionid bigint 会话的ID。 start_time timestamp with time zone 会话的启动时间。 event text 具体的事件名称。 lwtid integer 当前线程的轻量级线程号。 psessionid bigint streaming线程的父线程。 tlevel integer streaming线程的层级。与执行计划的层级(id)相对应。 smpid integer smp执行模式下并行线程的并行编号。 userid oid session用户的id。 application_name text 应用的名称。 client_addr inet client端的地址。 client_hostname text client端的名称。 client_port integer 客户端用于与后端通讯的TCP端口号。 query_id bigint debug query id unique_query_id bigint unique query id user_id oid unique query的key中的user_id。 cn_id integer cn id,在DN上表示该unique sql来之该CN节点,unique query的key中的cn_id。 unique_query text 规范化后的UniqueSQL文本串。 locktag text 会话等待锁信息,可通过locktag_decode解析。 lockmode text 会话等待锁模式。 block_sessionid bigint 如果会话正在等待锁,阻塞该会话获取锁的会话标识。 final_block_sessionid bigint 表示源头阻塞会话id。 wait_status text 描述event列的更多详细信息。 global_sessionid text 全局会话ID。 xact_start_time timestamp with time zone 事务开始时间。 query_start_time timestamp with time zone 语句开始执行时间。 state text 当前语句状态。 可能取值为:active, idle in transaction, fastpath function call, idle in transaction (aborted), disabled, retrying。 父主题: Session/Thread
  • GLOBAL_TRANSACTIONS_PREPARED_XA CTS 显示各节点当前准备好进行两阶段提交的事务的信息。 表1 GLOBAL_TRANSACTIONS_PREPARED_XACTS字段 名称 类型 描述 transaction xid 预备事务的数字事务标识。 gid text 赋予该事务的全局事务标识。 prepared timestamp with time zone 事务准备好提交的时间。 owner name 执行该事务的用户的名称。 database name 执行该事务所在的数据库名。 父主题: Transaction
  • GLOBAL_TRANSACTIONS_RUNNING_XACTS 显示集群中各个节点运行事务的信息。 表1 GLOBAL_TRANSACTIONS_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务在GTM对应的句柄。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum boolean 标志当前事务是否是lazy vacuum事务。 timeline bigint 标志数据库重启次数。 prepare_xid xid 处于prepared状态的事务的id号,若不在prepared状态,值为0。 pid bigint 事务对应的线程id。 next_xid xid CN传给DN的事务id号。 父主题: Transaction
  • TRANSACTIONS_PREPARED_XACTS 显示当前准备好进行两阶段提交的事务的信息。 表1 TRANSACTIONS_PREPARED_XACTS字段 名称 类型 描述 transaction xid 预备事务的数字事务标识。 gid text 赋予该事务的全局事务标识。 prepared timestamp with time zone 事务准备好提交的时间。 owner name 执行该事务的用户的名称。 database name 执行该事务所在的数据库名。 父主题: Transaction
  • SUMMARY_TRANSACTIONS_PREPARED_XACTS 显示集群中各CN节点当前准备好进行两阶段提交的事务的信息。 表1 SUMMARY_TRANSACTIONS_PREPARED_XACTS字段 名称 类型 描述 transaction xid 预备事务的数字事务标识。 gid text 赋予该事务的全局事务标识。 prepared timestamp with time zone 事务准备好提交的时间。 owner name 执行该事务的用户的名称。 database name 执行该事务所在的数据库名。 父主题: Transaction
  • GS_WLM_SESSION_HISTORY GS_WLM_SESSION_HISTORY视图显示当前用户在当前CN上执行作业结束后的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。查询该视图需要sysadmin或者monitor admin权限。 GaussDB 中的数据会定时被清理,清理周期为3分钟。当GUC参数enable_resource_record为on时,视图中的记录每隔3分钟被转储到系统表GS_WLM_SESSION_QUERY_INFO_ALL中一次,同时视图中的记录被删除;当GUC参数enable_resource_record为off时,记录在视图中的存留时间达到超期时间(超期时间为3分钟)后会被删除。 表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。 abort_info text 语句执行结束状态为aborted时显示异常信息。 resource_pool text 用户使用的资源池。 control_group text 语句所使用的Cgroup。 estimate_memory integer 语句估算内存大小。 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自诊断相关告警: 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 内存使用量第2的节点名称。 mem_top3_node_name text 内存使用量第3的节点名称。 mem_top4_node_name text 内存使用量第4的节点名称。 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信息。 父主题: 系统视图
  • SUMMARY_TRANSACTIONS_RUNNING_XACTS 显示集群中各个CN节点运行事务的信息,字段内容和transactions_running_xacts一致。 表1 SUMMARY_TRANSACTIONS_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务在GTM对应的句柄。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum boolean 标志当前事务是否是lazy vacuum事务。 timeline bigint 标志数据库重启次数。 prepare_xid xid 处于prepared状态的事务的id号,若不在prepared状态,值为0。 pid bigint 事务对应的线程id。 next_xid xid CN传给DN的事务id号。 父主题: Transaction
  • TRANSACTIONS_RUNNING_XACTS 显示当前节点运行事务的信息。 表1 TRANSACTIONS_RUNNING_XACTS字段 名称 类型 描述 handle integer 事务在GTM对应的句柄。 gxid xid 事务id号。 state tinyint 事务状态(3:prepared或者0:starting)。 node text 节点名称。 xmin xid 节点上当前数据涉及的最小事务号xmin。 vacuum boolean 标志当前事务是否是lazy vacuum事务。 timeline bigint 标志数据库重启次数。 prepare_xid xid 处于prepared状态的事务的id号,若不在prepared状态,值为0。 pid bigint 事务对应的线程id。 next_xid xid CN传给DN的事务id号。 父主题: Transaction
  • GLOBAL_SESSION_STAT_ACTIVITY 显示集群内各节点上正在运行的线程相关的信息。 表1 GLOBAL_SESSION_STAT_ACTIVITY字段 名称 类型 描述 coorname text CN节点名称。 datid oid 用户会话在后台连接到的数据库OID。 datname text 用户会话在后台连接到的数据库名称。 pid bigint 后台线程ID。 usesysid oid 登录该后台的用户OID。 usename 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。 backend_start timestampwith time zone 该过程开始的时间,即当客户端连接服务器时间。 xact_start timestampwith time zone 启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。 query_start timestampwith time zone 开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。 state_change timestampwith time zone 上次状态改变的时间。 waiting boolean 如果后台当前正等待锁则为true。 enqueue text 工作负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)资源状态。 state text 该后台当前总体状态。可能值是: active:后台正在执行一个查询。 idle:后台正在等待一个新的客户端命令。 idle in transaction:后台在事务中,但是目前无法执行查询。 idle in transaction (aborted):这个状态除说明事务中有某个语句导致了错误外,类似于idle in transaction fastpath function call:后台正在执行一个fast-path函数。 disabled:如果后台禁用track_activities,则报告这个状态。 说明: 普通用户只能查看到自己帐户所对应的会话状态。即其他帐户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空。 openGauss=# SELECT datname, usename, usesysid,state,pid FROM pg_stat_activity; datname | usename | usesysid | state | pid ----------+---------+----------+--------+-----------------postgres | omm | 10 | |139968752121616 postgres | omm | 10 | |139968903116560 db_tpcds | judy | 16398 | active |139968391403280 postgres | omm | 10 | |139968643069712 postgres | omm | 10 | |139968680818448 postgres | joe | 16390 | |139968563377936 (6 rows) resource_pool name 用户使用的资源池。 query_id bigint 查询语句的ID。 query text 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 unique_sql_id bigint 语句的unique sql id。 trace_id text 驱动传入的trace id,与应用的一次请求相关联。 父主题: Session/Thread
  • SESSION_MEMORY_RUNTIME SESSION_MEMORY_RUNTIME视图显示当前用户执行复杂作业(正在运行)时的内存使用信息。 表1 SESSION_MEMORY_RUNTIME字段 名称 类型 描述 datid oid 连接后端的数据库OID。 usename name 登录到该后端的用户名。 pid bigint 后端线程ID。 start_time timestamp with time zone 语句执行的开始时间。 min_peak_memory integer 语句在所有DN上的最小内存峰值大小,单位MB。 max_peak_memory integer 语句在所有DN上的最大内存峰值大小,单位MB。 spill_info text 语句在所有DN上的下盘信息: None:所有DN均未下盘 All:所有DN均下盘 [a:b]:数量为b个DN中有a个DN下盘 query text 正在执行的语句。 node_group text 语句所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)。 top_mem_dn text mem使用量topN信息。 父主题: Session/Thread
  • STATEMENT_IOSTAT_COMPLEX_RUNTIME STATEMENT_IOSTAT_COMPLEX_RUNTIME视图显示当前用户执行作业正在运行时的IO负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)相关信息。以下涉及到iops,对于行存,均以万次/s为单位,对于列存,均以次/s为单位。 表1 STATEMENT_IOSTAT_COMPLEX_RUNTIME字段 名称 类型 描述 query_id bigint 作业id。 mincurriops integer 该作业当前io在各DN中的最小值。 maxcurriops integer 该作业当前io在各DN中的最大值。 minpeakiops integer 在作业运行时,作业io峰值中,各DN的最小值。 maxpeakiops integer 在作业运行时,作业io峰值中,各DN的最大值。 io_limits integer 该作业所设GUC参数io_limits。 io_priority text 该作业所设GUC参数io_priority。 query text 作业。 node_group text 作业所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)。 curr_io_limits integer 使用io_priority管控io时的实时iolimits值。 父主题: Session/Thread
  • THREAD_WAIT_STATUS 通过该视图可以检测当前实例中工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况,具体事件信息见表2。 表1 THREAD_WAIT_STATUS字段 名称 类型 描述 node_name text 当前节点的名称。 db_name text 数据库名称。 thread_name text 线程名称。 query_id bigint 查询ID,对应debug_query_id。 tid bigint 当前线程的线程号。 sessionid bigint session的ID lwtid integer 当前线程的轻量级线程号。 psessionid bigint streaming线程的父线程。 tlevel integer streaming线程的层级。 smpid integer 并行线程的ID。 wait_status text 当前线程的等待状态。等待状态的详细信息请参见Wait Events事件信息列表。 wait_event text 如果wait_status是acquire lock、acquire lwlock、wait io三种类型,此列描述具体的锁、轻量级锁、IO的信息;否则为空。 locktag text 当前线程正在等待锁的信息。 lockmode text 当前线程正等待获取的锁模式。包含表级锁、行级锁、页级锁下的各模式。 block_sessionid bigint 阻塞当前线程获取锁的会话标识。 global_sessionid text 全局会话ID。 父主题: Session/Thread
  • SESSION_CPU_RUNTIME SESSION_CPU_RUNTIME视图显示当前用户执行复杂作业(正在运行)时的CPU使用信息。 表1 SESSION_CPU_RUNTIME字段 名称 类型 描述 datid oid 连接后端的数据库OID。 usename name 登录到该后端的用户名。 pid bigint 后端线程ID。 start_time timestamp with time zone 语句执行的开始时间。 min_cpu_time bigint 语句在所有DN上的最小CPU时间,单位为ms。 max_cpu_time bigint 语句在所有DN上的最大CPU时间,单位为ms。 total_cpu_time bigint 语句在所有DN上的CPU总时间,单位为ms。 query text 正在执行的语句。 node_group text 语句所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)。 top_cpu_dn text cpu使用量topN信息。 父主题: Session/Thread
  • GLOBAL_THREAD_WAIT_STATUS 通过该视图可以检测所有节点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。具体事件信息见表2。 通过GLOBAL_THREAD_WAIT_STATUS视图,可以查看集群全局各个节点上所有SQL语句产生的线程之间的调用层次关系,以及各个线程的阻塞等待状态,从而更容易定位hang以及类似现象的原因。 GLOBAL_THREAD_WAIT_STATUS视图和THREAD_WAIT_STATUS视图列定义完全相同,这是由于GLOBAL_THREAD_WAIT_STATUS视图本质是到集群中各个节点上查询THREAD_WAIT_STATUS视图汇总的结果。 表1 GLOBAL_THREAD_WAIT_STATUS字段 名称 类型 描述 node_name text 当前节点的名称。 db_name text 数据库名称。 thread_name text 线程名称。 query_id bigint 查询ID,对应debug_query_id。 tid bigint 当前线程的线程号。 sessionid bigint session的ID lwtid integer 当前线程的轻量级线程号。 psessionid bigint streaming线程的父线程。 tlevel integer streaming线程的层级。 smpid integer 并行线程的ID。 wait_status text 当前线程的等待状态。等待状态的详细信息请参见表2。 wait_event text 如果wait_status是acquire lock、acquire lwlock、wait io三种类型,此列描述具体的锁、轻量级锁、IO的信息。否则是空。 locktag text 当前线程正在等待锁的信息。 lockmode text 当前线程正等待获取的锁模式。包含表级锁、行级锁、页级锁下的各模式。 block_sessionid bigint 阻塞当前线程获取锁的会话标识。 global_sessionid text 全局会话ID。 父主题: Session/Thread
  • LOCAL_THREADPOOL_STATUS LOCAL_THREADPOOL_STATUS视图显示线程池中工作线程及会话的状态信息。该视图仅在线程池开启(enable_thread_pool = on)时生效。 表1 LOCAL_THREADPOOL_STATUS字段 名称 类型 描述 node_name text 节点名称。 group_id integer 线程池组ID。 bind_numa_id integer 该线程池组绑定的NUMA ID。 bind_cpu_number integer 该线程池组绑定的CPU信息。如果未绑定CPU,该值为NULL。 listener integer 该线程池组的Listener线程数量。 worker_info text 线程池中线程相关信息,包括以下信息: default:该线程池组中的初始线程数量 new:该线程池组中新增线程的数量 expect:该线程池组中预期线程的数量 actual:该线程池组中实际线程的数量 idle:该线程池组中空闲线程的数量 pending:该线程池组中等待线程的数量 session_info text 线程池中会话相关信息,包括以下信息: total:该线程池组中所有的会话数量 waiting:该线程池组中等待调度的会话数量 running:该线程池中正在执行的会话数量 idle:该线程池组中空闲的会话数量 stream_info text Stream线程池相关信息,包括以下信息: total:该线程池组中所有的stream线程数量 running:该线程池组中当前正在工作的stream线程数量 idle:该线程池组中空闲的stream线程数量 父主题: Session/Thread
  • SESSION_STAT_ACTIVITY 显示当前节点上正在运行的线程相关的信息。 表1 SESSION_STAT_ACTIVITY字段 名称 类型 描述 datid oid 用户会话在后台连接到的数据库OID。 datname name 用户会话在后台连接到的数据库名称。 pid bigint 后台线程ID。 usesysid oid 登录该后台的用户OID。 usename name 登录该后台的用户名。 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。 backend_start timestampwith time zone 该过程开始的时间,即当客户端连接服务器时间。 xact_start timestampwith time zone 启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。 query_start timestampwith time zone 开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。 state_change timestampwith time zone 上次状态改变的时间。 waiting boolean 如果后台当前正等待锁则为true。 enqueue text 工作负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)资源状态。 state text 该后台当前总体状态。可能值是: active:后台正在执行一个查询。 idle:后台正在等待一个新的客户端命令。 idle in transaction:后台在事务中,但是目前无法执行查询。 idle in transaction (aborted):这个状态除说明事务中有某个语句导致了错误外,类似于idle in transaction fastpath function call:后台正在执行一个fast-path函数。 disabled:如果后台禁用track_activities,则报告这个状态。 说明: 普通用户只能查看到自己帐户所对应的会话状态。即其他帐户的state信息为空。例如以judy用户连接数据库后,在pg_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空。 openGauss=# SELECT datname, usename, usesysid,state,pid FROM pg_stat_activity; datname | usename | usesysid | state | pid ----------+---------+----------+--------+-----------------postgres | omm | 10 | |139968752121616 postgres | omm | 10 | |139968903116560 db_tpcds | judy | 16398 | active |139968391403280 postgres | omm | 10 | |139968643069712 postgres | omm | 10 | |139968680818448 postgres | joe | 16390 | |139968563377936 (6 rows) resource_pool name 用户使用的资源池。 query_id bigint 查询语句的ID。 query text 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 unique_sql_id bigint 语句的unique sql id。 trace_id text 驱动传入的trace id,与应用的一次请求相关联。 父主题: Session/Thread
  • GLOBAL_SESSION_MEMORY 统计各节点的Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存,单位为MB。 表1 GLOBAL_SESSION_MEMORY字段 名称 类型 描述 node_name name 节点名称。 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存。 used_mem integer 当前正在执行作业已分配的内存。 peak_mem integer 当前正在执行作业已分配的内存峰值。 父主题: Session/Thread
  • GLOBAL_SESSION_MEMORY_DETAIL 统计各节点的线程的内存使用情况,以MemoryContext节点来统计。 表1 GLOBAL_SESSION_MEMORY_DETAIL字段 名称 类型 描述 node_name name 节点名称。 sessid text 线程启动时间+线程标识。 sesstype text 线程名称。 contextname text 内存上下文名称。 level smallint 内存上下文的重要级别。 parent text 父级内存上下文名称。 totalsize bigint 总申请内存大小(单位:字节)。 freesize bigint 空闲内存大小(单位:字节)。 usedsize bigint 使用内存大小(单位:字节)。 父主题: Session/Thread
  • GLOBAL_SESSION_TIME 用于统计各节点会话线程的运行时间信息,及各执行阶段所消耗时间。 表1 GLOBAL_SESSION_TIME字段 名称 类型 描述 node_name name 节点名称。 sessid text 线程启动时间+线程标识。 stat_id integer 统计编号。 stat_name text 会话类型名称。 value bigint 会话值。 父主题: Session/Thread
  • GLOBAL_USER_TRANSACTION GLOBAL_USER_TRANSACTION用来统计全局用户执行的事务信息。 表1 GLOBAL_USER_TRANSACTION字段 名称 类型 描述 node_name name 节点名称。 username name 用户的名称。 commit_counter bigint 用户事务commit数量。 rollback_counter bigint 用户事务rollback数量。 resp_min bigint 用户事务最小响应时间(单位:微秒)。 resp_max bigint 用户事务最大响应时间(单位:微秒)。 resp_avg bigint 用户事务平均响应时间(单位:微秒)。 resp_total bigint 用户事务总响应时间(单位:微秒)。 bg_commit_counter bigint 后台事务commit数量。 bg_rollback_counter bigint 后台事务rollback数量。 bg_resp_min bigint 后台事务最小响应时间(单位:微秒)。 bg_resp_max bigint 后台事务最大响应时间(单位:微秒)。 bg_resp_avg bigint 后台事务平均响应时间(单位:微秒)。 bg_resp_total bigint 后台事务总响应时间(单位:微秒)。 父主题: Workload
  • SESSION_MEMORY_DETAIL 统计线程的内存使用情况,以MemoryContext节点来统计。 表1 SESSION_MEMORY_DETAIL字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 sesstype text 线程名称。 contextname text 内存上下文名称。 level smallint 内存上下文的重要级别。 parent text 父级内存上下文名称。 totalsize bigint 总申请内存大小(单位:字节)。 freesize bigint 空闲内存大小(单位:字节)。 usedsize bigint 使用内存大小(单位:字节)。 父主题: Session/Thread
  • SESSION_MEMORY 统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存,单位为MB。 表1 SESSION_MEMORY字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存。 used_mem integer 当前正在执行作业已分配的内存。 peak_mem integer 当前正在执行作业已分配的内存峰值。 父主题: Session/Thread
  • GLOBAL_SESSION_STAT 各节点上以会话线程或AutoVacuum线程为单位,统计会话状态信息。 表1 GLOBAL_SESSION_STAT字段 名称 类型 描述 node_name name 节点名称。 sessid text 线程启动时间+线程标识。 statid integer 统计编号。 statname text 统计会话名称。 statunit text 统计会话单位。 value bigint 统计会话值。 父主题: Session/Thread
  • SESSION_STAT 当前节点以会话线程或AutoVacuum线程为单位,统计会话状态信息。 表1 SESSION_STAT字段 名称 类型 描述 sessid text 线程启动时间+线程标识。 statid integer 统计编号。 statname text 统计会话名称。 statunit text 统计会话单位。 value bigint 统计会话值。 父主题: Session/Thread
  • WORKLOAD_SQL_ELAPSE_TIME WORKLOAD_SQL_ELAPSE_TIME用来统计workload(业务负载)上的SUID信息。 表1 WORKLOAD_SQL_ELAPSE_TIME字段 名称 类型 描述 workload name workload(业务负载)名称。 total_select_elapse bigint 总select的时间花费(单位:微秒)。 max_select_elapse bigint 最大select的时间花费(单位:微秒)。 min_select_elapse bigint 最小select的时间花费(单位:微秒)。 avg_select_elapse bigint 平均select的时间花费(单位:微秒)。 total_update_elapse bigint 总update的时间花费(单位:微秒)。 max_update_elapse bigint 最大update的时间花费(单位:微秒)。 min_update_elapse bigint 最小update的时间花费(单位:微秒)。 avg_update_elapse bigint 平均update的时间花费(单位:微秒)。 total_insert_elapse bigint 总insert的时间花费(单位:微秒)。 max_insert_elapse bigint 最大insert的时间花费(单位:微秒)。 min_insert_elapse bigint 最小insert的时间花费(单位:微秒)。 avg_insert_elapse bigint 平均insert的时间花费(单位:微秒)。 total_delete_elapse bigint 总delete的时间花费(单位:微秒)。 max_delete_elapse bigint 最大delete的时间花费(单位:微秒)。 min_delete_elapse bigint 最小delete的时间花费(单位:微秒)。 avg_delete_elapse bigint 平均delete的时间花费(单位:微秒)。 父主题: Workload
  • USER_TRANSACTION USER_TRANSACTION用来统计用户执行的事务信息。monadmin用户能看到所有用户执行事务的信息,普通用户只能查询到自己执行的事务信息。 表1 USER_TRANSACTION字段 名称 类型 描述 username name 用户的名称。 commit_counter bigint 用户事务commit数量。 rollback_counter bigint 用户事务rollback数量。 resp_min bigint 用户事务最小响应时间(单位:微秒)。 resp_max bigint 用户事务最大响应时间(单位:微秒)。 resp_avg bigint 用户事务平均响应时间(单位:微秒)。 resp_total bigint 用户事务总响应时间(单位:微秒)。 bg_commit_counter bigint 后台事务commit数量。 bg_rollback_counter bigint 后台事务rollback数量。 bg_resp_min bigint 后台事务最小响应时间(单位:微秒)。 bg_resp_max bigint 后台事务最大响应时间(单位:微秒)。 bg_resp_avg bigint 后台事务平均响应时间(单位:微秒)。 bg_resp_total bigint 后台事务总响应时间(单位:微秒)。 父主题: Workload
  • SUMMARY_WORKLOAD_SQL_ELAPSE_TIME SUMMARY_WORKLOAD_SQL_ELAPSE_TIME用来统计所有CN节点上workload(业务)负载的SUID信息。 表1 SUMMARY_WORKLOAD_SQL_ELAPSE_TIM字段 名称 类型 描述 node_name name 节点名称。 workload name workload(业务负载)名称。 total_select_elapse bigint 总select的时间花费(单位:微秒)。 max_select_elapse bigint 最大select的时间花费(单位:微秒)。 min_select_elapse bigint 最小select的时间花费(单位:微秒)。 avg_select_elapse bigint 平均select的时间花费(单位:微秒)。 total_update_elapse bigint 总update的时间花费(单位:微秒)。 max_update_elapse bigint 最大update的时间花费(单位:微秒)。 min_update_elapse bigint 最小update的时间花费(单位:微秒)。 avg_update_elapse bigint 平均update的时间花费(单位:微秒)。 total_insert_elapse bigint 总insert的时间花费(单位:微秒)。 max_insert_elapse bigint 最大insert的时间花费(单位:微秒)。 min_insert_elapse bigint 最小insert的时间花费(单位:微秒)。 avg_insert_elapse bigint 平均insert的时间花费(单位:微秒)。 total_delete_elapse bigint 总delete的时间花费(单位:微秒)。 max_delete_elapse bigint 最大delete的时间花费(单位:微秒)。 min_delete_elapse bigint 最小delete的时间花费(单位:微秒)。 avg_delete_elapse bigint 平均delete的时间花费(单位:微秒)。 父主题: Workload
  • GLOBAL_WORKLOAD_TRANSACTION 显示各节点上的workload的负载信息。 表1 GLOBAL_WORKLOAD_TRANSACTION字段 名称 类型 描述 node_name name 节点名称。 workload name 负载的名称。 commit_counter bigint 用户事务commit数量。 rollback_counter bigint 用户事务rollback数量。 resp_min bigint 用户事务最小响应时间(单位:微秒)。 resp_max bigint 用户事务最大响应时间(单位:微秒)。 resp_avg bigint 用户事务平均响应时间(单位:微秒)。 resp_total bigint 用户事务总响应时间(单位:微秒)。 bg_commit_counter bigint 后台事务commit数量。 bg_rollback_counter bigint 后台事务rollback数量。 bg_resp_min bigint 后台事务最小响应时间(单位:微秒)。 bg_resp_max bigint 后台事务最大响应时间(单位:微秒)。 bg_resp_avg bigint 后台事务平均响应时间(单位:微秒)。 bg_resp_total bigint 后台事务总响应时间(单位:微秒)。 父主题: Workload
共100000条