华为云用户手册

  • gs_tpworker_execstmt_stat() 描述:描述语句的运行时信息,SYSADMIN和MONADMIN用户执行则显示全部正在执行的语句的信息,普通用户查询只能查询自己执行的SQL语句的信息。 返回值类型:setof record 名称 类型 描述 db_oid oid 用户会话在后台连接到的数据库OID。 db_name name 用户会话在后台连接到的数据库名称。 threadpool_worker varchar 线程所属的numagroup和线程的ID,格式如下:numagroup_threadid。 thread_id bigint 线程ID。 session_id bigint 会话ID。 query_id bigint 正在执行的SQL语句的ID。 query_text text 正在执行的SQL语句内容。 unique_sql_id bigint SQL语句生成的唯一id。 client_hostname text 客户端的主机名,这个字段是通过client_addr进行反向DNS查找得到的。这个字段只有在启动log_hostname且使用IP连接时才非空。 client_app_name text 客户端app的名字。 stmt_slow_time_threshold int 单位毫秒,SQL语句被标记为慢SQL的预设超时时间。 stmt_start_time timestamp with time zone 语句执行的开始时间。 stmt_elapse_time int 距离查询开始执行时已经过去的时间。 stmt_control_status varchar 当前语句状态: Waiting:等待状态,session接入未获得线程执行。 Running:当前语句正常执行。 Control:当前语句进入了资源管控阶段。 stmt_control_rule text 当前语句对应的慢SQL管控规则。 stmt_control_iostat text 当前语句的iops值和最大iops上限。格式如下:curVal/maxVal。 stmt_control_memstat text 当前字段预留,暂不支持。 stmt_control_cpustat text 当前字段预留,暂不支持。 stmt_control_netstat text 当前字段预留,暂不支持。
  • gs_perf_query_general([filename text]) 描述:查询历史采集on-cpu/off-cpu火焰图的堆栈调用函数的占比数据,由于计算精度原因,该占比数据总和可能会不等于1。查询该函数需要有SYSADMIN权限或者MONADMIN权限。 参数说明如下: 参数名称 描述 类型 filename 历史采集的文件的名称(可选参数,默认为最近一次手动采集的火焰图)。 text 返回值类型:setof record 函数返回字段说明: 名称 类型 描述 function_name text 堆栈函数名称。 percentage float 堆栈函数调用占比。 示例: 查询最近一次手动采集生成的火焰图函数调用占比。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 gaussdb=# SELECT * FROM gs_perf_query_general(); function_name | percentage -------------------------------+------------ pthread_mutex_lock | 28.57 do_select | 7.17 undopage::init_undo_zone_lock | 7.14 unknown | 7.14 undo::recycle_main | 7.14 undo::is_valid_zone_id | 7.14 __vdso_gettimeofday | 7.14 hrtimer_start_range_ns | 7.14 undo::get_zone_id | 7.14 __pthread_mutex_unlock | 7.14 gs_stat_encap_status_info | 7.14 (11 rows)
  • gs_perf_list() 描述:查看当前节点上保存的on-cpu/off-cpu火焰图的采集数据,不会展示多核多线程火焰图记录。 参数:nan 返回值类型:setof record 函数返回字段说明: 名称 类型 描述 nodename text 采集节点名称。 filename text 采集数据所保存的文件名称。 collect_type text 采集类型。 示例: 查询当前节点上保存的火焰图生成记录。 1 2 3 4 5 6 7 8 9 10 11 12 13 gaussdb=# SELECT * FROM gs_perf_list() limit 10; nodename | filename | collect_type ----------+--------------------------------------------------------+-------------- cn_5001 | flamegraph-auto-offcpu-2025-03-02_175022.html.gz | auto cn_5001 | flamegraph-auto-offcpu-2025-03-03_063522.html.gz | auto cn_5001 | flamegraph-auto-offcpu-2025-03-03_102523.html.gz | auto cn_5001 | flamegraph-auto-offcpu-2025-03-02_173523.html.gz | auto cn_5001 | flamegraph-manual-offcpu-2025-03-03_025410.html.gz | manual cn_5001 | flamegraph-manual-oncpu-2025-03-03_003428.html.gz | manual cn_5001 | flamegraph-manual-oncpu-2025-03-02_181653.html.gz | manual cn_5001 | flamegraph-manual-oncpu-2025-03-03_031815.html.gz | manual cn_5001 | flamegraph-manual-oncpu-2025-03-03_001013.html.gz | manual (9 rows)
  • gs_perf_start_all(duration integer[, freq integer]) 描述:采集当前节点所在机器上所有节点中on-cpu/off-cpu火焰图的堆栈调用数据,函数返回所有节点生成的火焰图文件的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。 参数说明如下: 参数名称 描述 类型 范围 duration 采集堆栈时长(单位为毫秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 50~3000 freq 采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 10~1000 返回值类型:text 示例: 设置频率为100HZ,采集1000ms当前节点所在机器上所有节点中oncpu/offcpu火焰图数据。 1 2 3 4 5 6 7 8 9 10 11 gaussdb=# SELECT gs_perf_start_all(1000,100); gs_perf_start_all --------------------------------------------------------------------------------------------------------- Successfully collected perf flamegraph data, the result filepaths are : + $GAUSS LOG /gs_flamegraph/{nodename}/flamegraph-manual-oncpu-2025-03-03_105122.html.gz; + $GAUSSLOG/gs_flamegraph/{nodename}/flamegraph-manual-offcpu-2025-03-03_105122.html.gz; + Please visit gs_flamegraph directory(all nodes of current machine) to get results for individual nodes.+ Record 664 cpu clock samples. + Record 370 sched switch samples. + (1 row)
  • gs_perf_start(duration integer[, freq integer]) 描述:采集当前节点上各个线程的on-cpu火焰图的堆栈调用数据,函数返回火焰图的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。 参数说明如下: 参数名称 描述 类型 范围 duration 采集堆栈时长(单位为秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 1~60 freq 采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型数值,将会对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 10~1000 返回值类型:text 示例: 设置频率为100HZ,采集10s的on-cpu堆栈信息。 1 2 3 4 5 6 7 8 gaussdb=# SELECT gs_perf_start(10,100); gs_perf_start ------------------------------------------------------------------------------------ Successfully collected perf flamegraph data, the result filepaths are : + $GAUSSLOG/gs_flamegraph/cn_5001/flamegraph-manual-oncpu-2025-03-03_104812.html.gz;+ Record 886 cpu clock samples. + (1 row) 执行该函数时(包括后述gs_perf_start_offcpu()、gs_perf_start_all()、gs_perf_start_detail())需要确保gs_perf_service正常运行。同时,gs_perf_service在采集过程中,需要申请环形buffer,该buffer的大小由操作系统中/proc/sys/kernel/perf_event_mlock_kb控制。如果在采集过程中出现“perf mmap failed”错误,可以在调整/proc/sys/kernel/perf_event_mlock_kb的大小后,再重新执行采集。
  • gs_perf_start_offcpu(duration integer) 描述:采集当前节点上各个线程的off-cpu火焰图的堆栈调用数据,函数返回火焰图的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。 参数说明如下: 参数名称 描述 类型 范围 duration 采集堆栈时长(单位为毫秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 50~3000 返回值类型:text 示例: 采集2000ms的off-cpu堆栈信息。 1 2 3 4 5 6 7 8 gaussdb=# SELECT gs_perf_start_offcpu(2000); gs_perf_start_offcpu ------------------------------------------------------------------------------------- Successfully collected perf flamegraph data, the result filepaths are : + $GAUSSLOG/gs_flamegraph/cn_5001/flamegraph-manual-offcpu-2025-03-03_104918.html.gz;+ Record 48 sched switch samples. + (1 row)
  • gs_perf_start_detail(duration integer[, freq integer]) 描述:采集当前节点所在机器上所有cpu核心所有线程中on-cpu/off-cpu堆栈的调用栈详细信息,函数返回多核多线程原始数据压缩文件地址。每次运行该命令时,都会删除历史采集的多核多线程数据。查询该函数需要有SYSADMIN权限或者MONADMIN权限。 参数说明如下: 参数名称 描述 类型 范围 duration 采集堆栈时长(单位为毫秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 50~3000 freq 采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。 integer 10~1000 返回值类型:text 示例: 采集2000ms的多核多线程火焰图数据。 1 2 3 4 5 6 7 8 9 gaussdb=# SELECT gs_perf_start_detail(2000); gs_perf_start_detail --------------------------------------------------------------------------------------------------- Successfully collected perf detail data, the result filepath is : + $GAUSSLOG/gs_flamegraph/cn_5001/detail-2025-03-03_105043.lz4 + Please save the file locally, otherwise the file will be deleted during the next data collection.+ Record 1735211 samples. + (1 row)
  • local_xlog_redo_statics() 描述:返回本节点已回放的各个类型的日志统计信息(仅在备机上有有效数据)。 返回值如下: 表20 local_xlog_redo_statics返回参数说明 字段名 描述 xlog_type 日志类型。 rmid resource manager id。 info xlog operation。 num 日志个数。 extra 针对page回放日志和xact日志有有效值。 如果是page页回放日志类型则表示从磁盘读取page的个数。 如果是xact日志类型则表示删除文件的个数。
  • local_redo_time_count() 描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。 返回值如下: 表19 local_redo_time_count返回参数说明 字段名 描述 thread_name 线程名字。 step1_total step1的总时间,每个线程对应的流程如下: 极致RTO: redo batch:从队列中获取一条日志。 redo manager:从队列中获取一条日志。 redo worker:从队列中获取一条日志。 trxn manager:从队列中读取一条日志。 trxn worker:从队列中读取一条日志。 read worker:从文件中读取一次xlog page(整体)。 read page worker:从队列中获取一个日志。 startup:从队列中获取一个日志。 并行回放: page redo:从队列中获取一条日志。 startup:读取一条日志。 step1_count step1的统计次数。 step2_total step2的总时间,每个线程对应的流程如下: 极致RTO: redo batch:处理日志(整体)。 redo manager:处理日志(整体)。 redo worker:处理日志(整体)。 trxn manager:处理日志(整体)。 trxn worker:处理日志(整体)。 read worker:读取xlog page耗时。 read page worker:生成和发送lsn forwarder。 startup:check stop(是否回放到指定位置)。 并行回放: startup:check stop(是否回放到指定位置)。 step2_count step2的统计次数。 step3_total step3的总时间,每个线程对应的流程如下: 极致RTO: redo batch:更新standbystate。 redo manager:数据日志处理。 redo worker:回放page页日志(整体)。 trxn manager:更新flush lsn。 trxn worker:回放日志处理。 read worker:推进xlog segment。 read page worker:获取一个新的item。 startup:redo delay(延迟回放特性等待时间)。 并行回放: page redo:更新standbystate。 startup:redo delay(延迟回放特性等待时间)。 step3_count step3的统计次数。 step4_total step4的总时间,每个线程对应的流程如下: 极致RTO: redo batch:解析xlog。 redo manager:DDL处理。 redo worker:读取数据page页。 trxn manager:同步等待时间。 trxn worker:更新本线程lsn。 read page worker:将日志放入分发线程。 startup:分发(整体)。 并行回放: page redo:undo 日志回放。 startup:分发(整体)。 step4_count step4的统计次数。 step5_total step5的总时间,每个线程对应的流程如下: 极致RTO: redo batch:分发给redo manager。 redo manager:分发给redo worker。 redo worker:回放数据page页的日志。 trxn manager:分发给trxn worker。 trxn worker:强同步wait时间。 read page worker:更新本线程lsn。 startup:日志decode。 并行回放: page redo:sharetrxn日志回放。 startup:日志回放。 step5_count step5的统计次数。 step6_total step6的总时间,每个线程对应的流程如下: 极致RTO: redo worker:回放非数据页page日志。 trxn manager:全局lsn更新。 redo manager:数据页面日志存入hash表。 并行回放: page redo:synctrxn日志回放。 startup:强同步等待。 step6_count step6的统计次数。 step7_total step7的总时间,每个线程对应的流程如下: 极致RTO: redo manager:创建表空间。 redo worker:fsm更新。 并行回放: page redo:single日志回放。 step7_count step7的统计次数。 step8_total step8的总时间,每个线程对应的流程如下: 极致RTO: redo worker:强同步等待。 并行回放: page redo:all workers do日志回放。 step8_count step8的统计次数。 step9_total step9的总时间,每个线程对应的流程如下: 极致RTO: redo manager:分发日志给page redo线程。 并行回放: page redo:multi workers do日志回放。 step9_count step9的统计次数。
  • remote_bgwriter_stat() 描述:显示整个集群所有实例的bgwriter线程刷页信息,候选buffer链中页面个数,buffer淘汰信息(本节点除外、DN上不可使用)。 返回值类型:record 表21 remote_bgwriter_stat返回参数说明 参数 类型 描述 node_name text 实例名称。 bgwr_actual_flush_total_num bigint 从启动到当前时间bgwriter线程总计刷脏页数量。 bgwr_last_flush_num integer bgwriter线程上一批刷脏页数量。 candidate_slots integer 当前候选buffer链中页面个数。 get_buffer_from_list bigint buffer淘汰从候选buffer链中获取页面的次数。 get_buf_clock_sweep bigint buffer淘汰从原淘汰方案中获取页面的次数。 示例: remote_bgwriter_stat函数查询bgwriter线程刷页信息。 1 2 3 4 5 6 7 gaussdb=# SELECT * FROM remote_bgwriter_stat(); node_name | bgwr_actual_flush_total_num | bgwr_last_flush_num | candidate_slots | get_buffer_from_list | get_buf_clock_sweep -----------+-----------------------------+---------------------+-----------------+----------------------+--------------------- datanode3 | 0 | 0 | 266232 | 404 | 0 datanode2 | 0 | 0 | 266232 | 424 | 0 datanode1 | 0 | 0 | 266232 | 393 | 0 (3 rows)
  • remote_redo_stat() 描述:显示整个集群所有实例的日志回放情况(本节点除外、DN上不可使用)。 返回值类型:record 表17 remote_redo_stat参数说明 参数 类型 描述 node_name text 实例名称。 redo_start_ptr int8 当前实例日志回放的起始点。 redo_start_time int8 当前实例日志回放的起始UTC时间。 redo_done_time int8 当前实例日志回放的结束UTC时间。 curr_time int8 当前实例的当前UTC时间。 min_recovery_point int8 当前实例日志的最小一致性点位置。 read_ptr int8 当前实例日志的读取位置。 last_replayed_read_ptr int8 当前实例的日志回放位置。 recovery_done_ptr int8 当前实例启动完成时的回放位置。 read_xlog_io_counter int8 当前实例读取回放日志的I/O次数计数。 read_xlog_io_total_dur int8 当前实例读取回放日志的I/O总时延。 read_data_io_counter int8 当前实例回放过程中读取数据页面的I/O次数计数。 read_data_io_total_dur int8 当前实例回放过程中读取数据页面的I/O总时延。 write_data_io_counter int8 当前实例回放过程中写数据页面的I/O次数计数。 write_data_io_total_dur int8 当前实例回放过程中写数据页面的I/O总时延。 process_pending_counter int8 当前实例回放过程中日志分发线程的同步次数计数。 process_pending_total_dur int8 当前实例回放过程中日志分发线程的同步总时延。 apply_counter int8 当前实例回放过程中回放线程的同步次数计数。 apply_total_dur int8 当前实例回放过程中回放线程的同步总时延。 speed int8 当前实例日志回放速率。 local_max_ptr int8 当前实例启动成功后本地收到的回放日志的最大值。 primary_flush_ptr int8 主机日志文件写入磁盘的位置。 worker_info text 当前实例回放线程信息,若没有开并行回放则该值为空。
  • pgxc_gtm_snapshot_status() 描述:用于查看当前GTM上事务信息,仅在GTM模式下支持本系统函数,GTM-LITE和GTM-FREE模式下不支持。 返回值类型:record 函数返回字段描述如下: 表18 pgxc_gtm_snapshot_status返回参数说明 名称 类型 描述 xmin xid 仍在运行的最小事务号。 xmax xid 已完成的所有事务号中最大事务号的下一个事务号。 csn integer 待提交事务的序列号。 oldestxmin xid 当前最早的活跃事务在其取快照时,所有运行事务号最小的事务。 xcnt integer 当前活跃的事务个数。 running_xids text 当前活跃的事务号。
  • remote_single_flush_dw_stat() 描述:显示整个集群所有实例的单页面淘汰双写文件的情况(本节点除外、DN上不可使用)。 返回值类型:record 表13 remote_single_flush_dw_stat参数说明 参数 类型 描述 node_name text 实例名称。 curr_dwn integer 当前双写文件的序列号。 curr_start_page integer 当前双写文件start位置。 total_writes bigint 当前双写文件总计写数据页面个数。 file_trunc_num bigint 当前双写文件复用的次数。 file_reset_num bigint 当前双写文件写满后发生重置的次数。
  • remote_pagewriter_stat() 描述:显示整个集群所有实例的刷页信息和检查点信息(本节点除外、DN上不可使用)。 返回值类型:record 表14 remote_pagewriter_stat参数说明 参数 类型 描述 node_name text 实例名称。 pgwr_actual_flush_total_num int8 从启动到当前时间总计刷脏页数量。 pgwr_last_flush_num int4 上一批刷脏页数量。 remain_dirty_page_num int8 当前预计还剩余多少脏页。 queue_head_page_rec_lsn text 当前实例的脏页队列第一个脏页的recovery_lsn。 queue_rec_lsn text 当前实例的脏页队列的recovery_lsn。 current_xlog_insert_lsn text 当前实例XLog写入的位置。 ckpt_redo_point text 当前实例的检查点。
  • remote_recovery_status() 描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。 返回值类型:record 表15 remote_recovery_status参数说明 参数 类型 描述 node_name text 节点的名称,包含主机和备机。 standby_node_name text 备机名称。 source_ip text 主机的IP地址。 source_port int4 主机的端口号。 dest_ip text 备机的IP地址。 dest_port int4 备机的端口号。 current_rto int8 备机当前的日志流控时间,单位秒。 target_rto int8 备机通过GUC参数设置的预期流控时间,单位秒。 current_sleep_time int8 为了达到这个预期主机所需要的睡眠时间,单位微秒。
  • remote_rto_stat() 描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。 返回值类型:record 表16 remote_rto_stat参数说明 参数 类型 描述 node_name text 节点的名称,包含主机和备机。 rto_info text 流控的信息,包含了备机当前的日志流控时间(单位:秒),备机通过GUC参数设置的预期流控时间(单位:秒),为了达到这个预期主机所需要的睡眠时间(单位:微秒)。
  • remote_double_write_stat() 描述:显示整个集群所有实例的双写文件的情况(本节点除外、DN上不可使用)。 返回值类型:record 表12 remote_double_write_stat参数说明 参数 类型 描述 node_name text 实例名称。 curr_dwn int8 当前双写文件的序列号。 curr_start_page int8 当前双写文件恢复起始页面。 file_trunc_num int8 当前双写文件复用的次数。 file_reset_num int8 当前双写文件写满后发生重置的次数。 total_writes int8 当前双写文件总的I/O次数。 low_threshold_writes int8 低效率写双写文件的I/O次数(一次I/O刷页数量少于16页面)。 high_threshold_writes int8 高效率写双写文件的I/O次数(一次I/O刷页数量多于一批,421个页面)。 total_pages int8 当前刷页到双写文件区的总的页面个数。 low_threshold_pages int8 低效率刷页的页面个数。 high_threshold_pages int8 高效率刷页的页面个数。 file_id int8 当前双写文件的id号。
  • comm_check_connection_status() 描述:返回该CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,普通用户可使用。 参数:nan 返回值类型:node_name text、remote_name text、remote_host text、remote_port integer、is_connected boolean以及no_error_occur boolean。
  • remote_candidate_stat() 描述:显示本实例的候选buffer链中页面个数,buffer淘汰信息,包含normal buffer pool和segment buffer pool。 返回值类型:record 表10 remote_candidate_stat参数说明 名称 类型 描述 node_name text 节点名称。 candidate_slots integer 当前Normal Buffer Pool候选buffer链中页面个数。 get_buf_from_list bigint Normal Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。 get_buf_clock_sweep bigint Normal Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。 seg_candidate_slots integer 当前Segment Buffer Pool候选buffer链中页面个数。 seg_get_buf_from_list bigint Segment Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。 seg_get_buf_clock_sweep bigint Segment Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。
  • DBE_PERF.get_global_session_stat() 描述:获取集群内所有节点上的会话状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。 返回值类型:record 状态信息有如下14项:commit、rollback、sql、table_scan、blocks_fetched、physical_read_operation、shared_blocks_dirtied、local_blocks_dirtied、shared_blocks_read、local_blocks_read、blocks_read_time、blocks_write_time、sort_imemory以及sort_idisk。
  • remote_ckpt_stat() 描述:用于显示整个集群所有实例的检查点信息和各类日志刷页情况(本节点除外、DN上不可使用)。 返回值类型:record 表11 remote_ckpt_stat参数说明 参数 类型 描述 node_name text 实例名称。 ckpt_redo_point text 当前实例的检查点。 ckpt_clog_flush_num int8 从启动到当前时间clog刷盘页面数。 ckpt_csnlog_flush_num int8 从启动到当前时间csnlog刷盘页面数。 ckpt_multixact_flush_num int8 从启动到当前时间multixact刷盘页面数。 ckpt_predicate_flush_num int8 从启动到当前时间predicate刷盘页面数。 ckpt_twophase_flush_num int8 从启动到当前时间twophase刷盘页面数。
  • DBE_PERF.global_comm_check_connection_status() 描述:返回所有CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,权限控制继承DBE_PERF schema。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。 参数:nan 返回值类型:node_name text、remote_name text、remote_host text、remote_port integer、is_connected boolean以及no_error_occur boolean。
  • DBE_PERF.get_global_active_session() 描述:显示所有CN节点和主DN节点上的ACTIVE SESSION PROFILE内存中的样本的汇总。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。505.0版本新增event_start_time、current_xid和top_xid三个字段,当从低于505.0版本升级至505.0或更高版本时,升级观察期内无法查询这些新增字段。 返回值类型:record
  • DBE_PERF.global_stat_activity_timeout(int) 描述:获取当前系统(所有CN)中执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。 返回值类型:setof record 名称 类型 描述 nodename text 用户会话连接的coordinate node的名称。 database name 用户会话连接的数据库名称。 pid bigint 后台线程ID。 sessionid bigint 会话ID。 usesysid oid 登录该后台的用户OID。 application_name text 连接到该后台的应用名。 query text 该后台正在执行的查询。 xact_start timestamptz 启动当前事务的时间。 query_start timestamptz 开始当前查询的时间。 query_id bigint 查询语句ID。
  • pv_session_memory 描述:统计Session级别的内存使用情况,包含执行作业在数据节点上 GaussDB 线程和Stream线程分配的所有内存。 若GUC参数enable_memory_limit=off,该函数不能使用。 返回值类型:record 表8 返回值说明 名称 类型 描述 sessid text 线程启动时间+线程标识。 init_mem integer 当前正在执行作业进入执行器前已分配的内存,单位MB。 used_mem integer 当前正在执行作业已分配的内存,单位MB。 peak_mem integer 当前正在执行作业已分配的内存峰值,单位MB。
  • DBE_PERF.gs_stat_activity_timeout(int) 描述:获取当前节点上执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。 返回值类型:setof record 名称 类型 描述 database name 用户会话连接的数据库名称。 pid bigint 后台线程ID。 sessionid bigint 会话ID。 usesysid oid 登录该后台的用户OID。 application_name text 连接到该后台的应用名。 query text 该后台正在执行的查询。 xact_start timestamptz 启动当前事务的时间。 query_start timestamptz 开始当前查询的时间。 query_id bigint 查询语句ID。
  • global_stat_get_hotkeys_info() 执行业务过程中,执行SELECT * FROM global_stat_hotkeys_info MINUS SELECT * FROM global_stat_get_hotkeys_info();因为存在时间差,可能出现不为0的情况。 描述:获取整个集群中热点key的统计情况。 返回值类型:record 1 2 3 4 5 6 gaussdb=# SELECT * FROM global_stat_get_hotkeys_info() ORDER BY count, hash_value; database_name | schema_name | table_name | key_value | hash_value | count ---------------+-------------+-------------------+-----------+------------+------- regression | public | hotkey_single_col | {22} | 1858004829 | 2 regression | public | hotkey_single_col | {11} | 2011968649 | 2 (2 rows)
  • pgxc_stat_activity() 描述:显示当前集群下所有CN的当前用户查询相关的信息,仅具有SYSADMIN或者MONADMIN权限的用户可以执行此函数,普通用户可查看本用户的相关信息。505.0.0版本新增三列信息,灰度升级观察期中执行该函数会报错,此时,需使用PG_STAT_ACTIVITY直连目标节点进行查询。 返回值类型:record 名称 类型 描述 coorname text 当前集群下的CN名称。 datid oid 用户会话在后台连接到的数据库OID。 datname text 用户会话在后台连接到的数据库名称。 pid bigint 后台线程ID。 sessionid 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 timestamp with time zone 该过程开始的时间,即当客户端连接服务器的时间。 xact_start timestamp with time zone 启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。 query_start timestamp with time zone 开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。 state_change timestamp with time zone 上次状态改变的时间。 waiting boolean 如果后台当前正等待锁则为true。 enqueue text 语句当前排队状态。可能值是: waiting in queue:表示语句在排队中。 空:表示语句正在运行。 state text 该后台当前总体状态。可能值是: active:后台正在执行一个查询。 idle:后台正在等待一个新的客户端命令。 idle in transaction:后台在事务中,但事务中没有语句在执行。 idle in transaction (aborted):后台在事务中,但事务中有语句执行失败。 fastpath function call:后台正在执行一个fast-path函数。 disabled:如果后台禁用track_activities,则报告这个状态。 说明: 只有系统管理员能查看到自己账户所对应的会话状态。其他账户的state信息为空。例如以judy用户连接数据库后,在PGXC_STAT_ACTIVITY中查看到的普通用户joe及初始用户omm的state信息为空: SELECT datname, usename, usesysid, state,pid FROM pgxc_stat_activity; datname | usename | usesysid | state | pid ----------+---------+----------+--------+----------------- testdb | omm | 10 | | 139968752121616 testdb | omm | 10 | | 139968903116560 db_tpcds | judy | 16398 | active | 139968391403280 testdb | omm | 10 | | 139968643069712 testdb | omm | 10 | | 139968680818448 testdb | joe | 16390 | | 139968563377936 (6 rows) resource_pool name 用户使用的资源池。 query_id bigint 查询语句的ID。 query text 该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。 global_sessionid text 全局会话ID。 unique_sql_id bigint 语句的unique sql id。 trace_id text 驱动传入的trace id,与应用的一次请求相关联。 top_xid xid 事务的顶层事务ID。 current_xid xid 事务的当前事务ID。 xlog_quantity bigint 事务当前使用的XLOG量,单位为字节。
  • gs_stat_get_hotkeys_info() 若GUC参数enable_hotkeys_collection = off, gs_stat_get_hotkeys_info、global_stat_get_hotkeys_info函数和global_stat_hotkeys_info视图无法正常查询。不影响gs_stat_clean_hotkeys和global_stat_clean_hotkeys清理接口的正常使用。 描述:获取当前节点上热点key的统计情况。 返回值类型:record 1 2 3 4 5 6 gaussdb=# SELECT * FROM gs_stat_get_hotkeys_info() ORDER BY count, hash_value; database_name | schema_name | table_name | key_value | hash_value | count ---------------+-------------+-------------------+-----------+------------+------- regression | public | hotkey_single_col | {22} | 1858004829 | 2 regression | public | hotkey_single_col | {11} | 2011968649 | 2 (2 rows) 名称 类型 描述 database_name text 热点key所在database名称。 schema_name text 热点key所在schema名称。 table_name text 热点key所在table名称。 key_value text 热点key的value。 hash_value bigint 热点key在数据库中的哈希值,如果是List/Range分布表,该字段为0。 count bigint 热点key被访问频次。
  • gs_stat_clean_hotkeys() 热点key检测是针对大并发大流量场景设计的特性,访问几次的场景,查询清理会存在一定误差。 在设计清理接口时,只会清理LRU队列中的统计数据,而不会清理FIFO队列中的历史数据。因此,如果在清理完成后再次访问FIFO中存在的历史键值,这些键值仍会被当做热点key处理。global_stat_clean_hotkeys同理。 描述:清理当前节点上热点key的统计信息。 返回值:boolean 1 2 3 4 5 gaussdb=# SELECT * FROM gs_stat_clean_hotkeys(); gs_stat_clean_hotkeys ----------------------- t (1 row)
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全