本章节主要介绍PolarDB PostgreSQL版(兼容Oracle)中的不同视图详细信息,可通过查询不同视图获取相关SQL信息,进而方便定位性能问题。

SQL

您可以通过查询本文描述的视图来获取相关SQL信息。

  • pg_stat_statements
    说明 pg_stat_statements视图依赖于pg_stat_statements插件,需要执行create extension pg_stat_statements命令创建该插件。
    相关参数说明如下表所示:
    参数类型描述
    useridoid执行该语句的用户的 OID。
    dbidoid在其中执行该语句的数据库的 OID。
    queryidbigint内部哈希码,从语句的解析树计算得来。
    querytext语句的文本形式。
    callsbigint被执行的次数。
    total_timedouble precision在该语句中花费的总时间。单位:毫秒。
    min_timedouble precision在该语句中花费的最小时间。单位:毫秒。
    max_timedouble precision在该语句中花费的最大时间。单位:毫秒。
    mean_timedouble precision在该语句中花费的平均时间。单位:毫秒。
    stddev_timedouble precision在该语句中花费时间的总体标准偏差。单位:毫秒。
    rowsbigint该语句检索或影响的行总数。
    shared_blks_hitbigint该语句造成的共享块缓冲命中总数。
    shared_blks_readbigint该语句读取的共享块的总数。
    shared_blks_dirtiedbigint该语句弄脏的共享块的总数。
    shared_blks_writtenbigint该语句写入的共享块的总数。
    local_blks_hitbigint该语句造成的本地块缓冲命中总数。
    local_blks_readbigint该语句读取的本地块的总数。
    local_blks_dirtiedbigint该语句弄脏的本地块的总数。
    local_blks_writtenbigint该语句写入的本地块的总数。
    temp_blks_readbigint该语句读取的临时块的总数。
    temp_blks_writtenbigint该语句写入的临时块的总数。
    blk_read_timedouble precision该语句花在读取块上的总时间。单位:毫秒。(如果track_io_timing被启用,否则为零)。
    blk_write_timedouble precision该语句花在写入块上的总时间。单位:毫秒。(如果track_io_timing被启用,否则为零)。
  • polar_stat_sql
    说明 polar_stat_sql视图依赖于polar_stat_sql插件,需要执行create extension polar_stat_sql命令创建该插件,也可作为pg_stat_statements的扩展。
    相关参数说明如下表所示:
    参数类型描述
    queryidbigint查询ID
    datnamename数据库名称。
    rolnamename用户名。
    user_timedouble用户态时间。
    system_timedouble系统态时间。
    minfltsbigint页面回收数(软页面错误)。
    majfltsbigint缺页错误数(硬缺页错误)。
    nswapsbigint交换页面数(swaps)。
    readsbigint磁盘读取字节数(bytes)。
    reads_blksbigint磁盘读取块数(blocks)。
    writesbigint磁盘写入字节数(bytes)。
    writes_blksbigint磁盘写入块数(blocks)。
    msgsndsbigintIPC 信息发送次数。
    msgrcvsbigintIPC 信息接受次数。
    nsignalsbigint信号量接受次数。
    nvcswsbigint自愿上下文切换次数。
    nivcswsbigint非自愿上下文切换次数。
    scan_rowsdouble扫描节点读取行数。
    scan_timedouble扫描节点执行时间。
    scan_countbigint扫描节点执行次数。
    join_rowsdoublejoin节点读取行数。
    join_timedoublejoin节点执行时间。
    join_countbigintjoin节点次数时间。
    sort_rowsdouble排序节点读取行数。
    sort_timedouble排序节点执行时间。
    sort_countbigint排序节点执行次数。
    group_rowsdoublegroup节点读取行数。
    group_timedoublegroup节点执行时间。
    group_countbigintgroup节点执行次数。
    hash_rowsdoublehash节点读取行数。
    hash_memorybiginthash节点使用内存(bytes)。
    hash_countbiginthash节点执行次数。
    parse_timedoubleparse时间。
    analyze_timedoubleanalyze时间。
    rewrite_timedoublerewrite时间。
    plan_timedouble执行计划生成时间。
    execute_timedouble执行时间。
    lwlock_waitdoublelwlock等待时间。
    rel_lock_waitdouble表锁等待时间。
    xact_lock_waitdouble事务锁等待时间。
    page_lock_waitdoublepage锁等待时间。
    tuple_lock_waitdouble行锁等待时间。
    shared_read_psbigint读IOPS。
    shared_write_psbigint写IOPS。
    shared_read_throughputbigint读吞吐,单位:bytes。
    shared_write_throughputbigint写吞吐,单位:bytes。
    shared_read_latencydouble读延时,单位:微秒。
    shared_write_latencydouble写延时,单位:微秒。
    io_open_numbigintopen文件操作次数。
    io_seek_countbigintseek文件操作次数。
    io_open_timedoubleopen文件操作耗时,单位:微秒。
    io_seek_timedoubleseek文件操作耗时,单位:微秒。
  • polar_stat_query_count
    说明 polar_stat_query_count视图依赖于polar_stat_sql插件,需要执行create extension polar_stat_sql命令创建该插件。
    相关参数说明如下表所示:
    参数类型描述
    sqltypetextSQL类型: DQL DMLDDL DCL
    cmdtypetextSQL命令类型: SELECTINSERT UPDATE ...
    countbigint执行总次数。