更新时间:2025-09-18 GMT+08:00

统计信息函数

pg_stat_get_activity(integer)

描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。返回结果是PG_STAT_ACTIVITY视图中的一个子集,不包含connection_info列。

返回值类型:setof record

gs_stack()

描述:获取CN或DN进程的堆栈信息,函数入参actor_name、tid均需要通过视图或其他函数进行获取,不支持lwtid。该函数仅25.5.0及以上集群版本支持。

gs_stack()提供了比gdb、gstack等命令更灵活、更快速的堆栈获得手段。仅建议管理员用户在问题分析定位过程中使用,不建议作为日常的监控工具使用。

返回值字段:
  • actor_name:线程所在的actor名称。
  • tid:线程ID。
  • lwtid:轻量级线程ID。
  • stack:tid或lwtid线程对应的堆栈信息。

gs_stack()函数有三种使用方式:

  • 方式一:gs_stack()函数入参为空,表示打印CN和DN所有线程的堆栈。
    • 可通过gsql连接CN执行。
    • 获取CN和所有DN上所有线程的运行堆栈,运行时间长,对正常业务运行有影响,不建议频繁使用。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    select * from gs_stack();
      actor_name  |       tid       | lwtid  |                                                                                                                                                                                                                                                                                                                               
                                       stack                                                                                                                                                                                                                                                                                                                                 
    
    --------------+-----------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ----------------------------------
     coordinator1 | 106927505866816 | 186762 | GsStackBacktrace(int) + 0x1a                                                                                                                                                                                                                                                                                                  
    
                                     +
                  |                 |        | 0x7ffb45f6d1f0                                                                                                                                                                                                                                                                                                                
    
                                     +
                  |                 |        | __poll + 0x4f                                                                                                                                                                                                                                                                                                                 
    
                                     +
                  |                 |        | poll + 0xa0                                                                                                                                                                                                                                                                                                                   
    
                                     +
                  |                 |        | poll(pollfd*, unsigned long, int, void (*)()) + 0x19e                                                                                                                                                                                                                                                                         
    
                                     +
                  |                 |        | ServerLoop() + 0x570                                                                                                                                                                                                                                                                                                          
    
                                     +
                  |                 |        | PmStartupThreads() + 0x167                                                                                                                                                                                                                                                                                                    
    
                                     +
                  |                 |        | PostmasterMain(int, char**) + 0x22f                                                                                                                                                                                                                                                                                                                         
                  |                 |        | 
     coordinator1 | 106927505998400 | 186773 | GsStackBacktrace(int) + 0x1a                                                                                                                                                                                                                                                                                                  
                                     +
                  |                 |        | 0x7ffb45f6d1f0                                                                                                                                                                                                                                                                                                                
    
                                     +
                  |                 |        | 0x7ffb45fb41aa                                                                                                                                                                                                                                                                                                                
    
                                     +
                  |                 |        | pthread_cond_clockwait + 0x1e2                                                                                                                                                                                                                                                                                                
    
                                     +
                  |                 |        | std::__condvar::wait_until(std::mutex&, int, timespec&) + 0x39                                                                                                                                                                                                                                                                
    
  • 方式二:gs_stack(actor_name)函数入参值为指定的actor_name,表示打印名称为actor_name的actor上所有线程的堆栈。
    • 可通过gsql连接CN执行。
    • actor_name必须为CN或DN的名字,否则会报错“invalid actor_name”。
    • actor_name需通过其他视图或函数获取(例如函数pgxc_query_wait_status)。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    select * from gs_stack('coordinator1');
      actor_name  |       tid       | lwtid  |                                                                                                                                                                                                                                                                                                                               
                                       stack                                                                                                                                                                                                                                                                                                                                 
    
    --------------+-----------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ----------------------------------
     coordinator1 | 106927505866816 | 186762 | GsStackBacktrace(int) + 0x1a                                                                                                                                                                                                                                                                                                  
    
                                     +
                  |                 |        | 0x7ffb45f6d1f0                                                                                                                                                                                                                                                                                                                
    
                                     +
                  |                 |        | __poll + 0x4f                                                                                                                                                                                                                                                                                                                 
    
                                     +
                  |                 |        | poll + 0xa0                                                                                                                                                                                                                                                                                                                   
    
                                     +
                  |                 |        | poll(pollfd*, unsigned long, int, void (*)()) + 0x19e                                                                                                                                                                                                                                                                         
    
                                     +
                  |                 |        | ServerLoop() + 0x570                                                                                                                                                                                                                                                                                                          
    
                                     +
                  |                 |        | PmStartupThreads() + 0x167                                                                                                                                                                                                                                                                                                    
    
                                     +
                  |                 |        | PostmasterMain(int, char**) + 0x22f                                                                                                                                                                                                                                                                                           
    

  • 方式三:gs_stack(actor_name,tid)函数入参值为指定的actor_name和tid,表示打印名称为actor_name的actor上指定tid线程的堆栈。
    • 可通过gsql连接CN执行。
    • actor_name必须为CN或DN的名字,否则会报错“invalid actorName”。
    • actor_name和tid需通过其他视图或函数获取(例如函数pgxc_query_wait_status)。
    • 获取指定CN或DN进程内指定线程的运行堆栈,运行时间短,对正常业务运行无影响,推荐使用。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    select * from gs_stack('coordinator1',106927505998400);
      actor_name  |       tid       | lwtid  |                                                                                                                                                                                       stack                                                                                                                                   
    
    --------------+-----------------+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------
     coordinator1 | 106927505998400 | 186773 | GsStackBacktrace(int) + 0x1a                                                                                                                                                                                                                                                                                                  
                                                       +
                  |                 |        | 0x7ffb45f6d1f0                                                                                                                                                                                                                                                                                                                
                                                       +
                  |                 |        | 0x7ffb45fb41aa                                                                                                                                                                                                                                                                                                                
                                                       +
                  |                 |        | pthread_cond_clockwait + 0x1e2                                                                                                                                                                                                                                                                                                
                                                       +
                  |                 |        | std::__condvar::wait_until(std::mutex&, int, timespec&) + 0x39                                                                                                                                                                                                                                                                
                                                       +
                  |                 |        
    
    (1 row)
    

gs_wlm_session_statistics()

描述:获取执行中SQL语句的监控信息,无法获取执行结束的SQL语句监控信息,返回结果每一行代表一个语句。

函数返回字段:

字段名称

类型

描述

session_id

text

语句的Session ID。

statement_id

text

语句ID。

start_time

timestampt with zone

语句起始时间。

duration

bigint

语句运行时间。

单位:ms

estimate_total_time

bigint

估计的语句运行时长。

单位:ms

estimate_left_time

bigint

估计语句剩余运行时长

单位:ms

cn_actor_info

text

CN的Serverless信息。

dn_actor_info

text

DN的Serverless信息。

startup_coordinator_duration

bigint

启动CN时长。

单位:ms

create_session_duration

bigint

创建Session时长。

单位:ms

enqueue_statement_duration

bigint

语句加入任务队列时长。

单位:ms

queue_duration

bigint

语句在任务队列中排队时长。

单位:ms

write_resultset_duration

bigint

语句写结果集时长。

单位:ms

queryid

bigint

Debug Query的ID。

schemaname

text

语句执行时的Schema名称。

query

text

语句。

query_plan

text

explain信息

tid

bigint

线程ID。

parse_time

bigint

从解析到执行开始之前的时间。

单位:ms

estimate_memory

int

语句估计内存。

单位:MB

min_dn_time

bigint

最小DN时长。

单位:ms

max_dn_time

bigint

最大DN时长。

单位:ms

average_dn_time

bigint

平均DN时长。

单位:ms

dn_time_skew_percent

int

DN时长偏斜百分比。

单位:%

dn_min_cpu_time

bigint

最小DN CPU时长。

单位:ms

dn_max_cpu_time

bigint

最大DN CPU时长。

单位:ms

dn_average_cpu_time

bigint

平均DN CPU时长。

单位:ms

dn_total_cpu_time

bigint

DN CPU总时长。

单位:ms

dn_cpu_skew_percent

int

DN CPU时长偏斜百分比。

单位:%

dn_min_peak_memory

int

所有DN最小峰值内存。

单位:MB

dn_max_peak_memory

int

所有DN最大峰值内存。

单位:MB

dn_average_peak_memory

int

所有DN平均峰值内存。

单位:MB

dn_memory_skew_percent

int

内存倾斜率。

单位:%

dn_spill_)num

int

下盘DN数量

dn_spill_count

int

下盘DN次数总量

dn_min_spill_size

bigint

最大下盘Size。

单位:MB

dn_max_spill_size

bigint

最小下盘Size。

单位:MB

dn_average_spill_size

bigint

平均下盘Size。

单位:MB

dn_spill_skew_percent

int

下盘倾斜率。

单位:%

dn_write_disk_total_size

bigint

dn下盘写磁盘总量。

单位:MB

dn_write_disk_max_size

bigint

dn最大下盘写磁盘量。

单位:MB

dn_write_disk_min_size

bigint

dn最小下盘写磁盘量。

单位:MB

dn_spill_obs_total_size

bigint

dn下盘写OBS总量。

单位:MB

dn_spill_obs_max_size

bigint

dn最大下盘写OBS量。

单位:MB

dn_spill_obs_min_size

bigint

dn最小下盘写OBS量。

单位:MB

dn_write_obs_total_size

bigint

dn下盘直写OBS总量。

单位:MB

dn_write_obs_max_size

bigint

dn下盘最大直写OBS量。

单位:MB

dn_write_obs_min_size

bigint

dn下盘最小直写OBS量。

单位:MB

cn_spill_count

int

cn下盘次数

cn_spill_size

bigint

cn下盘总量。

单位:MB

cn_spill_obs_size

bigint

cn下盘写OBS量。

单位:MB

cn_write_obs_size

bigint

cn下盘直写OBS量。

单位:MB

cn_write_obs_disk_size

bigint

cn下盘写本地磁盘量。

单位:MB

disk_cache_hit_ratio

numeric

磁盘缓存命中率。

disk_cache_disk_read_size

bigint

磁盘缓存读取大小。

单位:B

disk_cache_disk_write_size

bigint

磁盘缓存写入大小。

单位:B

disk_cache_remote_read_size

bigint

磁盘缓存远程读取大小。

单位:B

disk_cache_remote_read_time

bigint

磁盘缓存远程读取次数。

单位:次

vfs_scan_bytes

bigint

OBS v文件系统扫描字节数。

单位:B

vfs_remote_read_bytes

bigint

OBS v文件系统远程读取字节数。

单位:B

disk_cache_load_time

bigint

磁盘缓存本地加载时间。

单位:us

disk_cache_conflict_count

bigint

磁盘缓存块哈希冲突次数。

单位:次

disk_cache_error_count

bigint

磁盘缓存错误次数。

单位:次

disk_cache_error_code

bigint

磁盘缓存错误码。

obs_io_req_avg_rtt

bigint

OBS IO请求平均往返时间。

单位:us

obs_io_req_avg_latency

bigint

OBS IO请求平均延迟。

单位:us

obs_io_req_latency_gt_1s

bigint

OBS IO请求延迟大于1秒的次数。

单位:次

obs_io_req_latency_gt_10s

bigint

查询的OBS IO请求延迟大于10秒的次数。

单位:次

obs_io_req_count

bigint

OBS IO请求次数。

单位:次

obs_io_req_count

bigint

OBS IO请求重试次数。

单位:次

obs_io_req_rate_limit_count

bigint

OBS IO请求速率限制次数。

单位:次

pg_get_actor_stat()

描述:获取一些监控事项的统计信息,监控事项包括创建CN,启动CN,创建会话,语句加入队列,执行语句,写结果集,获取执行状态,获取执行结果。每发生一次上述事项,就记录一次统计信息。

返回值类型:

字段名称

类型

描述

event_name

text

监控事项名称。

object_name

text

标识监控事项ID。

start_time

timestampt with zone

监控事项开始时间。

end_time

timestampt with zone

监控事项结束时间。

comment

text

具体内容。