本章节主要介绍PolarDB PostgreSQL引擎中的不同视图详细信息,可通过查询不同视图获取相关SQL信息,进而方便定位性能问题。
SQL
您可以通过查询本文描述的视图来获取相关SQL信息。
- polar_stat_sql说明 polar_stat_sql视图依赖于
polar_stat_sql
插件,需要执行create extension polar_stat_sql命令创建该插件。参数 类型 描述 queryid
bigint 查询ID datname
name 数据库名称。 rolname
name 用户名。 user_time
double 用户态时间。 system_time
double 系统态时间。 minflts
bigint 页面回收数(软页面错误)。 majflts
bigint 缺页错误数(硬缺页错误)。 nswaps
bigint 交换页面数(swaps)。 reads
bigint 磁盘读取字节数(bytes)。 reads_blks
bigint 磁盘读取块数(blocks)。 writes
bigint 磁盘写入字节数(bytes)。 writes_blks
bigint 磁盘写入块数(blocks)。 msgsnds
bigint IPC 信息发送次数。 msgrcvs
bigint IPC 信息接受次数。 nsignals
bigint 信号量接受次数。 nvcsws
bigint 自愿上下文切换次数。 nivcsws
bigint 非自愿上下文切换次数。 scan_rows
double 扫描节点读取行数。 scan_time
double 扫描节点执行时间。 scan_count
bigint 扫描节点执行次数。 join_rows
double join节点读取行数。 join_time
double join节点执行时间。 join_count
bigint join节点次数时间。 sort_rows
double 排序节点读取行数。 sort_time
double 排序节点执行时间。 sort_count
bigint 排序节点执行次数。 group_rows
double group节点读取行数。 group_time
double group节点执行时间。 group_count
bigint group节点执行次数。 hash_rows
double hash节点读取行数。 hash_memory
bigint hash节点使用内存(bytes)。 hash_count
bigint hash节点执行次数。 parse_time
double parse时间。 analyze_time
double analyze时间。 rewrite_time
double rewrite时间。 plan_time
double 执行计划生成时间。 execute_time
double 执行时间。 lwlock_wait
double lwlock等待时间。 rel_lock_wait
double 表锁等待时间。 xact_lock_wait
double 事务锁等待时间。 page_lock_wait
double page锁等待时间。 tuple_lock_wait
double 行锁等待时间。 shared_read_ps bigint 读IOPS。 shared_write_ps bigint 写IOPS。 shared_read_throughput bigint 读吞吐,单位:bytes。 shared_write_throughput bigint 写吞吐,单位:bytes。 shared_read_latency double 读延时,单位:微秒。 shared_write_latency double 写延时,单位:微秒。 io_open_num bigint open文件操作次数。 io_seek_count bigint seek文件操作次数。 io_open_time double open文件操作耗时,单位:微秒。 io_seek_time double seek文件操作耗时,单位:微秒。 - polar_stat_query_count说明 polar_stat_query_count视图依赖于
polar_stat_sql
插件,需要执行create extension polar_stat_sql命令创建该插件。参数 类型 描述 sqltype
text SQL类型: DQL DMLDDL DCL cmdtype
text SQL命令类型: SELECTINSERT UPDATE ... count
bigint 执行总次数。 - pg_stat_statements说明 pg_stat_statements视图依赖于
pg_stat_statements
插件,需要执行create extension pg_stat_statements命令创建该插件。参数 类型 描述 userid
oid 执行该语句的用户的 OID。 dbid
oid 在其中执行该语句的数据库的 OID。 queryid
bigint 内部哈希码,从语句的解析树计算得来。 query
text 语句的文本形式。 calls
bigint 被执行的次数。 total_time
double precision 在该语句中花费的总时间。单位:毫秒。 min_time
double precision 在该语句中花费的最小时间。单位:毫秒。 max_time
double precision 在该语句中花费的最大时间。单位:毫秒。 mean_time
double precision 在该语句中花费的平均时间。单位:毫秒。 stddev_time
double precision 在该语句中花费时间的总体标准偏差。单位:毫秒。 rows
bigint 该语句检索或影响的行总数。 shared_blks_hit
bigint 该语句造成的共享块缓冲命中总数。 shared_blks_read
bigint 该语句读取的共享块的总数。 shared_blks_dirtied
bigint 该语句弄脏的共享块的总数。 shared_blks_written
bigint 该语句写入的共享块的总数。 local_blks_hit
bigint 该语句造成的本地块缓冲命中总数。 local_blks_read
bigint 该语句读取的本地块的总数。 local_blks_dirtied
bigint 该语句弄脏的本地块的总数。 local_blks_written
bigint 该语句写入的本地块的总数。 temp_blks_read
bigint 该语句读取的临时块的总数。 temp_blks_written
bigint 该语句写入的临时块的总数。 blk_read_time
double precision 该语句花在读取块上的总时间。单位:毫秒。(如果track_io_timing被启用,否则为零)。 blk_write_time
double precision 该语句花在写入块上的总时间。单位:毫秒。(如果track_io_timing被启用,否则为零)。
执行计划
您可以通过查询polar_stat_plans视图来获取相关执行计划信息。
polar_stat_plans
统计执行计划信息。相关参数说明如下表所示:
参数 | 类型 | 描述 |
---|---|---|
userid |
oid | 用户ID。 |
dbid |
oid | 数据库ID。 |
queryid |
bigint | SQL的ID。 |
planid |
oid | 执行计划ID。 |
plan |
text | 执行计划。 |
calls |
bigint | 调用次数。 |
total_time |
double | 总时间。 |
min_time |
double | 最小时间 |
max_time |
double | 最大时间。 |
mean_time |
double | 平均时间。 |
stddev_time |
double | 标准差。 |
rows |
bigint | 访问行数。 |
shared_blks_hit |
bigint | 命中共享内存缓存次数。 |
shared_blks_read |
bigint | 共享内存读取磁盘次数。 |
shared_blks_dirtied |
bigint | 共享内存被污染次数。 |
shared_blks_written |
bigint | 共享内存写入磁盘次数。 |
local_blks_hit |
bigint | 命中本地内存缓存次数。 |
local_blks_read |
bigint | 本地内存读取磁盘次数。 |
local_blks_dirtied |
bigint | 本地内存被污染次数。 |
local_blks_written |
bigint | 本地内存写入磁盘次数。 |
temp_blks_read |
bigint | 临时内存读取磁盘次数。 |
temp_blks_written |
bigint | 临时内存写入磁盘次数。 |
blk_read_time |
double | block读时间。 |
blk_write_time |
double | block写时间。 |
utime |
double | CPU用户态时间。 |
stime |
double | CPU系统态时间。 |
lwlock_wait |
double | lwlock等待时间。 |
rel_lock_wait |
double | 表锁等待时间。 |
xact_lock_wait |
double | 事务锁等待时间。 |
page_lock_wait |
double | page锁等待时间。 |
tuple_lock_wait |
double | 行锁等待时间。 |
last_startup_cost |
double | 最近启动代价。 |
last_total_cost |
double | 最近总代价。 |
shared_read_ps | bigint | 读IOPS。 |
shared_write_ps | bigint | 写IOPS。 |
shared_read_throughput | bigint | 读吞吐,单位:bytes。 |
shared_write_throughput | bigint | 写吞吐,单位:bytes。 |
shared_read_latency | double | 读延时,单位:微秒。 |
shared_write_latency | double | 写延时,单位:微秒。 |
io_open_num | bigint | open文件操作次数。 |
io_seek_count | bigint | seek文件操作次数。 |
io_open_time | double | open文件操作耗时,单位:微秒。 |
io_seek_time | double | seek文件操作耗时,单位:微秒。 |
说明 polar_stat_plans视图依赖于
polar_stat_plans
插件,需要执行create extension polar_stat_plans
命令创建该插件。