本章节主要介绍PolarDB O引擎中的不同视图详细信息,可通过查询不同视图获取相关实例信息,进而方便定位性能问题。

资源

  • CPU

    您可以通过查询polar_stat_cpu_backend视图来获取相关CPU资源信息。

    polar_stat_cpu_backend

    backend_type为粒度,统计CPU使用情况信息。相关参数信息如下表所示:
    参数 类型 描述
    backend_type text 进程类型。
    cpu_user bigint 用户态CPU总量,单位是时钟周期。
    cpu_sys bigint 系统态CPU总量,单位是时钟周期。
    rss bigint rss内存,单位byte。
    说明 polar_stat_cpu_backend视图需要依赖于polar_monitor_preload插件,其该插件在安装PolarDB O引擎数据库后默认已经加载,但需执行create extension polar_monitor_preload命令来创建插件。
  • 内存

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

    • polar_backends_mcxt

      按照backend_type为粒度,统计内存上下文信息。相关参数说明如下表所示:
      参数 类型 描述
      pid integer 进程ID。
      name text memory context名称。
      nblocks bigint 占用block数量。
      freechunks bigint 空闲block数量。
      totalspace bigint 总空间 (字节数)。
      freespace bigint 空闲空间 (字节数)。
      说明 polar_backends_mcxt视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
    • polar_stat_shmem

      描述各类共享内存的监控信息。相关参数说明如下表所示:
      参数 类型 描述
      shmname text 共享内存区域名。
      shmsize bigint 共享内存大小 (字节数)。
      shmtype text 共享内存类型。
      说明 polar_stat_shmem视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
    • polar_stat_shmem_total_size

      描述共享内存的监控汇总信息。相关参数说明如下表所示:
      参数 类型 描述
      shmsize bigint 共享内存大小 (字节数)。
      shmtype text 共享内存类型。
      说明 polar_stat_shmem_total_size视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor使其生效。
  • I/O

    您可以通过查询本文描述的视图来获取I/O的监控和延时信息。

    • polar_stat_io_info
      按照文件类型为维度,描述I/O监控信息。相关参数说明如下表所示:
      参数 类型 描述
      filetype text 文件类型。
      fileloc text 文件所在文件系统。
      open_count numeric 文件打开总次数。
      open_latency_us double 文件打开总延迟。
      close_count numeric 文件关闭总次数。
      read_count numeric 读文件总次数。
      write_count numeric 写文件总次数。
      read_throughput numeric 读文件总吞吐。
      write_throughput numeric 写文件总吞吐。
      read_latency_us double 读文件总延迟 。单位:微秒。
      write_latency_us numeric 写文件总延迟。单位:微秒。
      seek_count numeric seek总次数。
      seek_latency_us double seek总延迟。
      creat_count numeric 创建文件总次数。
      creat_latency_us double 创建文件总延迟。
      fsync_count numeric fsync总次数。
      fsync_latency_us double fsync总延迟。
      falloc_count numeric falloc总次数。
      falloc_latency_us double falloc总延迟。
      说明 polar_stat_io_info视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
    • polar_stat_io_latency
      按照文件操作类型为维度,统计I/O延时信息。相关参数说明如下表所示:
      参数 类型 描述
      iokind text 文件操作类型
      • fsync :
      • creat : 创建文件。
      • seek :
      • open : 打开文件。
      • read : 读文件。
      • write : 写文件。
      • falloc :
      num_lessthan200us numeric 小于200微秒总次数。
      num_lessthan400us numeric 大于200微秒小于400微秒总次数。
      num_lessthan600us numeric 大于400微秒小于600微秒总次数。
      num_lessthan800us numeric 大于600微秒小于800微秒总次数。
      num_lessthan1ms numeric 大于800微秒小于1毫秒总次数。
      num_lessthan10ms numeric 大于1毫秒小于10毫秒总次数。
      num_lessthan100ms numeric 大于10毫秒小于100毫秒总次数。
      num_morethan100ms numeric 大于100毫秒总次数。
      说明 polar_stat_io_latency视图依赖于polar_monitor插件。其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
    • polar_stat_io_backend
      按照backend_type为维度,统计I/O监控信息。相关参数说明如下表所示:
      参数 类型 描述
      backend_type text 后台进程类型。
      pfs_read_ps bigint pfs文件系统读取次数。
      pfs_write_ps bigint pfs文件系统写入次数。
      pfs_read_throughput bigint pfs文件系统读取吞吐。单位:byte。
      pfs_write_throughput bigint pfs文件系统写入吞吐。单位:byte。
      pfs_read_latency double precision pfs文件系统读取延时。单位:微秒。
      pfs_write_latency double precision pfs文件系统写入延时。单位:微秒。
      local_read_ps bigint 本地文件系统读取次数。
      local_write_ps bigint 本地文件系统写入次数。
      local_read_throughput bigint 本地文件系统读取吞吐。单位:byte。
      local_write_throughput bigint 本地文件系统写入吞吐。单位:byte。
      local_read_latency double precision 本地文件系统读取延时。单位:微秒。
      local_write_latency double precision 本地文件系统写入延时。单位:微秒。
      说明 polar_stat_io_backend视图依赖于polar_monitor_preload插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor_preload命令使其生效。
  • 网络

    您可以通过查询本文描述的视图来获取网络监控信息。

    • polar_stat_network
      描述网络监控信息汇总数据。相关参数信息如下:
      参数 类型 描述
      send_count bigint 发送总次数。
      send_bytes bigint 发送总字节数。
      recv_count bigint 接收总次数。
      recv_bytes bigint 接收总字节数。
      retrans bigint 总重传次数。
      说明 polar_stat_network视图依赖于polar_monitor插件。其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
    • polar_stat_network_backend
      按照backend_type为维度,统计网络监控信息。相关参数信息如下:
      参数 类型 描述
      backend_type text backend类型。
      send_count bigint 发送总次数。
      send_bytes bigint 发送总字节数。
      recv_count bigint 接收总次数。
      recv_bytes bigint 接收总字节数。
      说明 polar_stat_network_backend视图依赖于polar_monitor_preload插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor_preload命令使其生效。
  • 您可以通过本文描述的视图来获取相关锁信息。

    • LWLock

      polar_stat_lwlock

      latch监控信息统计。相关参数信息如下:
      参数 类型 描述
      tranche smallint lwlock ID
      name text 锁名称。
      sh_acquire_count bigint 共享获取总次数。
      ex_acquire_count bigint 排它获取总次数。
      block_count bigint 获取阻塞总次数。
      lock_nums bigint lwlock个数。
      wait_time bigint 总等待时间。
      说明 polar_stat_lwlock视图依赖于polar_monitor_preload插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor_preload命令使其生效。
    • Lock

      polar_stat_lock

      统计锁信息。相关参数信息如下:
      参数 类型 描述
      id integer 主键。
      lock_type text 锁类型。
      invalid numeric 无意义。
      accesssharelock numeric access share lock锁次数。
      rowsharelock numeric row share lock锁次数。
      rowexclusivelock numeric row exclusive lock锁次数。
      shareupdateexclusivelock numeric share update exclusive lock锁次数。
      sharelock numeric share lock锁次数。
      sharerowexclusivelock numeric share row exclusive lock锁次数。
      exclusivelock numeric exclusive lock锁次数。
      accessexclusivelock numeric access exclusive lock锁次数。
      block_count numeric 锁阻塞次数。
      fastpath_count numeric 本地快速锁次数。
      wait_time numeric 锁等待时间。
      说明 polar_stat_lock视图依赖于polar_monitor_preload插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor_preload命令使其生效。
  • Slru

    您可以通过查询 polar_stat_slru() 视图来获取相关slru监控信息。

    polar_stat_slru()

    统计slru监控信息。相关参数信息如下:
    参数 类型 描述
    slru_type text 主键
    slots_number integer page数量。
    valid_pages integer 使用page数。
    empty_pages integer 空page数。
    reading_pages integer 正在读的page数。
    writing_pages integer 正在写的page数。
    wait_readings integer 等待读数量。
    wait_writings integer 等待写数量。
    read_count bigint read次数。
    read_only_count bigint read only次数。
    read_upgrade_count bigint 升级读次数。
    victim_count bigint 直接淘汰次数。
    victim_write_count bigint 淘汰落盘次数。
    write_count bigint 写次数。
    zero_count bigint 清零次数。
    flush_count bigint flush次数。
    truncate_count bigint truncate次数。
    storage_read_count bigint 读存储次数。
    storage_write_count bigint 写存储次数。
    说明 polar_stat_slru视图依赖于polar_monitor插件。其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
  • cgroup

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

    • polar_stat_cgroup

      统计各类系统资源、cgroup信息。相关参数说明如下表所示:

      参数 类型 描述
      subtype text cgroup类型(IO、Memory、CPU)。
      infotype text cgroup信息。
      count bigint 计数。
      说明 polar_stat_cgroup视图依赖于polar_monitor_preloadpolar_monitor插件,其中polar_monitor_preloadpolar_monitor插件在安装PolarDB O引擎数据库后已默认存在,但需分别执行create extension polar_monitor_preloadcreate extension polar_monitor命令使其生效。
    • polar_cgroup_quota
      统计各类系统资源、cgroup配额信息。相关参数说明如下表所示:
      参数 类型 描述
      subtype text cgroup类型(IO、Memory、CPU)。
      infotype text cgroup信息。
      count bigint 限额带下。
      说明 polar_cgroup_quota视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。

活动状态

  • polar_stat_activity
    描述所有进程的当前状态,polar_stat_activity视图统计的是累计值。
    参数 类型 描述
    datid oid 数据库OID
    datname name 数据库名称
    pid integer 进程ID
    usesysid oid 用户ID
    usename name 用户名
    application_name text 连接名称
    client_addr inet 客户端IP
    client_hostname text 客户端机器名
    client_port integer 客户端端口
    backend_start timestamp 客户端连接创建时间
    xact_start timestamp 事务开始时间
    query_start timestamp 当前SQL开始执行时间
    state_change timestamp 当前状态变更时间
    wait_event_type text 等待事件类型,后端正在等待的事件类型,如果不存在则为 NULL。可能的值有:
    • LWLock:后端正在等待轻量级锁。每一个这样的锁保护着共享内存中的一个特殊数据结构。wait_event将含有标识该轻量级锁目的的名称(一些锁具有特定的名称,其他是一组具有类似目的的锁中的一部分)。
    • Lock:后端正在等待重量级锁。重量级锁,也称为锁管理器锁或者简单锁,主要保护 SQL 可见的对象,例如表。不过,它们也被用于确保特定内部操作的互斥,例如关系扩展。wait_event将标识等待的锁的类型。
    • BufferPin:服务器进程正在等待访问数据缓冲区,而此时没有其他进程正在检查该缓冲区。如果另一个进程持有一个最终从要访问的缓冲区中读取数据的打开的游标,缓冲区 pin 等待可能会被拖延。
    • Activity:服务器进程处于闲置状态。这被用于在其主处理循环中等待活动的系统进程。wait_event将标识特定的等待点。
    • Extension:服务器进程正在扩展模块中等待活动。这个分类被用于要跟踪自定义等待点的模块。
    • Client服务器进程正在套接字上等待来自用户应用的某种活动,并且该服务器预期某种与其内部处理无关的事情发生。wait_event将标识特定的等待点。
    • IPC服务器进程正在等待来自服务器中另一个进程的某种活动。wait_event将标识特定的等待点。
    • Timeout服务器进程正在等待超时发生。wait_event将标识特定的等待点。
    • IO服务器进程正在等待IO完成。wait_event将标识特定的等待点。
    wait_event text 如果后端当前正在等待,则是等待事件的名称,否则为 NULL。
    state text 当前状态
    backend_xid xid 当前客户端xid
    backend_xmin xid 当前客户端xmin
    query text SQL语句
    backend_type text 当前backend类型
    queryid bigint SQL唯一标识
    wait_object text 如果有等待事件, 表示所等待的对象。
    wait_type text 如果有等待事件, 表示等待对象的类型。
    wait_time_ms double 如果有等待事件, 表示已经等待的时间。
    cpu_user bigint 当前backend用户态CPU。
    cpu_sys bigint 当前backend系统态CPU。
    rss bigint 当前backend内存占用。
    pfs_read_ps bigint pfs读IO累计次数。
    pfs_write_ps bigint pfs写IO累计次数。
    pfs_read_throughput bigint pfs读IO累计吞吐量。
    pfs_write_throughput bigint pfs写IO累计吞吐量。
    pfs_read_latency_ms double pfs读IO延迟时间。
    pfs_write_latency_ms double pfs写IO延迟时间。
    local_read_ps bigint 本地文件系统读IO累计次数。
    local_write_ps bigint 本地文件系统写IO累计次数。
    local_read_throughput bigint 本地文件系统读IO累计吞吐量。
    local_write_throughput bigint 本地文件系统写IO累计吞吐量。
    local_read_latency_ms double 本地文件系统读IO延迟时间。
    local_write_latency_ms double 本地文件系统写IO延迟时间。
    等待事件类型描述
    等待事件类型 等待事件名称 描述
    LWLock ShmemIndexLock 正等待在共享内存中查找或者分配空间。
    OidGenLock 正等待分配或者赋予OID。
    XidGenLock 正等待分配或者赋予事务 ID。
    ProcArrayLock 正等待在事务结尾得到快照或者清除事务 ID。
    SInvalReadLock 正等待从共享无效消息队列中检索或者移除消息。
    SInvalWriteLock 正等待在共享无效消息队列中增加消息。
    WALBufMappingLock 正等待在 WAL 缓冲区中替换页面。
    WALWriteLock 正等待 WAL 缓冲区被写入到磁盘。
    ControlFileLock 正等待读取或者更新控制文件或创建新的 WAL 文件。
    CheckpointLock 正等待执行检查点。
    CLogControlLock 正等待读取或者更新事务状态。
    SubtransControlLock 正等待读取或者更新子事务信息。
    MultiXactGenLock 正等待读取或者更新共享多事务状态。
    MultiXactOffsetControlLock 正等待读取或者更新多事务偏移映射。
    MultiXactMemberControlLock 正等待读取或者更新多事务成员映射。
    RelCacheInitLock 正等待读取或者写入关系缓冲区初始化文件。
    CheckpointerCommLock 正等待管理 fsync 请求。
    TwoPhaseStateLock 正等待读取或者更新预备事务的状态。
    TablespaceCreateLock 正等待创建或者删除表空间。
    BtreeVacuumLock 正等待读取或者更新B-树索引的 vacuum 相关的信息。
    AddinShmemInitLock 正等待管理共享内存中的空间分配。
    AutovacuumLock 自动清理工作者或者启动器正等待更新或者读取自动清理工作者的当前状态。
    AutovacuumScheduleLock 正等待确认选中进行清理的表仍需要清理。
    SyncScanLock 正等待为同步扫描得到表上扫描的开始位置。
    RelationMappingLock 正等待更新用来存储目录到文件节点映射的关系映射文件。
    AsyncCtlLock 正等待读取或者更新共享通知状态。
    AsyncQueueLock 正等待读取或者更新通知消息。
    SerializableXactHashLock 正等待检索或者存储有关可序列化事务的信息。
    SerializableFinishedListLock 正等待访问已结束可序列化事务的列表。
    SerializablePredicateLockListLock 正等待在由可序列化事务持有的所列表上执行操作。
    OldSerXidLock 正等待读取或者记录冲突的可序列化事务。
    SyncRepLock 正等待读取或者更新有关同步复制的信息。
    BackgroundWorkerLock 正等待读取或者更新后台工作者状态。
    DynamicSharedMemoryControlLock 正等待读取或者更新动态共享内存状态。
    AutoFileLock 正等待更新postgresql.auto.conf文件。
    ReplicationSlotAllocationLock 正等待分配或者释放复制槽。
    ReplicationSlotControlLock 正等待读取或者更新复制槽状态。
    CommitTsControlLock 正等待读取或者更新事务提交时间戳。
    CommitTsLock 正等待读取或者更新事务时间戳的最新设置值。
    ReplicationOriginLock 正等待设置、删除或者使用复制源头。
    MultiXactTruncationLock 正等待读取或者阶段多事务信息。
    OldSnapshotTimeMapLock 正等待读取或者更新旧的快照控制信息。
    BackendRandomLock 正等待产生随机数。
    LogicalRepWorkerLock 正等待逻辑复制工作者上的动作完成。
    CLogTruncationLock 正等待截断预写式日志或者等待预写式日志截断操作完成。
    clog 正在等地clog (事务状态)缓冲区上的I/O。
    commit_timestamp 正等待提交时间戳缓冲区上的 I/O。
    subtrans 正等待子事务缓冲区上的 I/O。
    multixact_offset 正等待多事务偏移缓冲区上的 I/O。
    multixact_member 正等待多事务成员缓冲区上的 I/O。
    async 正等待 async(通知)缓冲区上的 I/O。
    oldserxid 正等待 oldserxid 缓冲区上的 I/O。
    wal_insert 正等待把 WAL 插入到内存缓冲区。
    buffer_content 正等待读取或者写入内存中的数据页。
    buffer_io 正等待一个数据页面上的 I/O。
    replication_origin 正等待读取或者更新复制进度。
    replication_slot_io 正等待复制槽上的 I/O。
    proc 正等待读取或者更新 fast-path 锁信息。
    buffer_mapping 正等待把数据块与缓冲池中的缓冲区关联。
    lock_manager 正等待增加或者检查用于后端的锁,或者正等待加入或者退出锁定组(并行查询使用)。
    predicate_lock_manager 正等待增加或者检查谓词锁信息。
    parallel_query_dsa 正等待并行查询动态共享内存分配锁。
    tbm 正等待TBM共享迭代器锁。
    parallel_append 在Parallel Append计划执行期间等待选择下一个子计划。
    parallel_hash_join 在Parallel Hash计划执行期间等待分配或交换一块内存或者更新计数器。
    Lock relation 正等待获得关系上的锁。
    extend 正等待扩展关系。
    page 正等待获得关系上的页面的锁。
    tuple 正等待获得元组上的锁。
    transactionid 正等待事务结束。
    virtualxid 正等待获得虚拟 xid 锁。
    speculative token 正等待获取speculative insertion lock。
    object 正等待获得非关系数据库对象上的锁。
    userlock 正等待获得用户锁。
    advisory 正等待获得咨询用户锁。
    BufferPin BufferPin 正等待在缓冲区上加 pin。
    Activity ArchiverMain 正在归档进程的主循环中等待。
    AutoVacuumMain 正在autovacuum启动器进程的主循环中等待。
    BgWriterHibernate 正在后台写入器进程中等待,休眠中。
    BgWriterMain 正在后台写入器进程的后台工作者的主循环中等待。
    CheckpointerMain 正在检查点进程的主循环中等待。
    LogicalApplyMain 正在逻辑应用进程的主循环中等待。
    LogicalLauncherMain 正在逻辑启动器进程的主循环中等待。
    PgStatMain 正在统计收集器进程的主循环中等待。
    RecoveryWalAll 在恢复时等待来自于任意类型来源(本地、归档或流)的WAL。
    RecoveryWalStream 在恢复时等待来自于流的WAL。
    SysLoggerMain 正在系统日志进程的主循环中等待。
    WalReceiverMain 正在WAL接收器进程的主循环中等待。
    WalSenderMain 正在WAL发送器进程的主循环中等待。
    WalWriterMain 正在WAL写入器进程的主循环中等待。
    Client ClientRead 正等待从客户端读取数据。
    ClientWrite 正等待向客户端写入数据。
    LibPQWalReceiverConnect 正在WAL接收器中等待建立与远程服务器的连接。
    LibPQWalReceiverReceive 正在WAL接收器中等待从远程服务器接收数据。
    SSLOpenServer 正在尝试连接期间等待SSL。
    WalReceiverWaitStart 正等待startup进程发送流复制的初始数据。
    WalSenderWaitForWAL 正在WAL发送器进程中等待WAL被刷写。
    WalSenderWriteData 在WAL发送器进程中处理来自WAL接收器的回复时等待任意活动。
    Extension Extension 正在扩展中等待。
    IPC BgWorkerShutdown 正等待后台工作者关闭。
    BgWorkerStartup 正等待后台工作者启动。
    BtreePage 正等待继续并行B-树扫描所需的页号变得可用。
    ClogGroupUpdate 正等待组领袖在事务结束时更新事务状态。
    ExecuteGather 在执行Gather节点时等待来自子进程的活动。
    Hash/Batch/Allocating 正等待选出的Parallel Hash参与者分配哈希表。
    Hash/Batch/Electing 正在选出Parallel Hash参与者来分配哈希表。
    Hash/Batch/Loading 正等待其他Parallel Hash参与者完成装载哈希表。
    Hash/Build/Allocating 正等待选出的Parallel Hash参与者分配初始哈希表。
    Hash/Build/Electing 正在选出Parallel Hash参与者以分配初始哈希表。
    Hash/Build/HashingInner 正等待其他Parallel Hash参与者完成对内关系的哈希操作。
    Hash/Build/HashingOuter 正等待其他Parallel Hash参与者完成对外关系的哈希操作。
    Hash/GrowBatches/Allocating 正等待选出的Parallel Hash参与者分配更多批次。
    Hash/GrowBatches/Deciding 正在选出Parallel Hash参与者决定未来的批次增长。
    Hash/GrowBatches/Electing 正在选出Parallel Hash参与者分配更多批次。
    Hash/GrowBatches/Finishing 正在等待选出的Parallel Hash参与者决定未来的批次增长。
    Hash/GrowBatches/Repartitioning 正等待其他Parallel Hash参与者完成重新分区。
    Hash/GrowBuckets/Allocating 正等待选出的Parallel Hash参与者完成更多桶的分配。
    Hash/GrowBuckets/Electing 正在选出Parallel Hash参与者分配更多桶。
    Hash/GrowBuckets/Reinserting 正等待其他Parallel Hash参与者完成将元组插入到新桶的操作。
    LogicalSyncData 正等待逻辑复制的远程服务器发送用于初始表同步的数据。
    LogicalSyncStateChange 正等待逻辑复制的远程服务器更改状态。
    MessageQueueInternal 正等待其他进程被挂接到共享消息队列。
    MessageQueuePutMessage 正等待把协议消息写到共享消息队列。
    MessageQueueReceive 正等待从共享消息队列接收字节。
    MessageQueueSend 正等待向共享消息队列中发送字节。
    ParallelBitmapScan 正等待并行位图扫描被初始化。
    ParallelCreateIndexScan 正等待并行CREATE INDEX工作者完成堆扫描。
    ParallelFinish 正等待并行工作者完成计算。
    ProcArrayGroupUpdate 正等待组领袖在事务结束时清除事务ID。
    ReplicationOriginDrop 正等待复制源头变得不活跃以便被删除。
    ReplicationSlotDrop 正等待复制槽变得不活跃以便被删除。
    SafeSnapshot 正等待用于READ ONLY DEFERRABLE事务的快照。
    SyncRep 正在同步复制期间等待来自远程服务器的确认。
    Timeout BaseBackupThrottle 当有限流活动时在基础备份期间等待。
    PgSleep 正在调用pg_sleep的进程中等待。
    RecoveryApplyDelay 在恢复时等待应用WAL,因为它被延迟了。
    IO BufFileRead 正等待从缓存的文件中读取。
    BufFileWrite 正等待向缓存的文件中写入。
    ControlFileRead 正等待从控制文件中读取。
    ControlFileSync 正等待控制文件到达稳定存储。
    ControlFileSyncUpdate 正等待对控制文件的更新到达稳定存储。
    ControlFileWrite 正等待对控制文件的写入。
    ControlFileWriteUpdate 正等待写操作更新控制文件。
    CopyFileRead 正在文件拷贝操作期间等待读操作。
    CopyFileWrite 正在文件拷贝操作期间等待写操作。
    DataFileExtend 正等待关系数据文件被扩充。
    DataFileFlush 正等待关系数据文件到达稳定存储。
    DataFileImmediateSync 正等待关系数据文件的立即同步到达稳定存储。
    DataFilePrefetch 正等待从关系数据文件中的一次异步预取。
    DataFileRead 正等待对关系数据文件的读操作。
    DataFileSync 正等待对关系数据文件的更改到达稳定存储。
    DataFileTruncate 正等待关系数据文件被截断。
    DataFileWrite 正等待对关系数据文件的写操作。
    DSMFillZeroWrite 等待向动态共享内存备份文件中写零字节。
    LockFileAddToDataDirRead 在向数据目录锁文件中增加一行时等待读操作。
    LockFileAddToDataDirSync 在向数据目录锁文件中增加一行时等待数据到达稳定存储。
    LockFileAddToDataDirWrite 在向数据目录锁文件中增加一行时等待写操作。
    LockFileCreateRead 在创建数据目录锁文件期间等待读取。
    LockFileCreateSync 在创建数据目录锁文件期间等待数据到达稳定存储。
    LockFileCreateWrite 在创建数据目录锁文件期间等待写操作。
    LockFileReCheckDataDirRead 在重新检查数据目录锁文件的过程中等待读操作。
    LogicalRewriteCheckpointSync 在检查点期间等待逻辑重写映射到达稳定存储。
    LogicalRewriteMappingSync 在逻辑重写期间等待映射数据到达稳定存储。
    LogicalRewriteMappingWrite 在逻辑重写期间等待对映射数据的写操作。
    LogicalRewriteSync 正等待逻辑重写映射到达稳定存储。
    LogicalRewriteWrite 正等待对逻辑重写映射的写操作。
    RelationMapRead 正等待对关系映射文件的读操作。
    RelationMapSync 正等待关系映射文件到达稳定存储。
    RelationMapWrite 正等待对关系映射文件的写操作。
    ReorderBufferRead 在重排序缓冲区管理期间等待读操作。
    ReorderBufferWrite 在重排序缓冲区管理期间等待写操作。
    ReorderLogicalMappingRead 在重排序缓冲区管理期间等待对逻辑映射的读操作。
    ReplicationSlotRead 正等待对一个复制槽控制文件的读操作。
    ReplicationSlotRestoreSync 在把复制槽控制文件恢复到内存的过程中等待它到达稳定存储。
    ReplicationSlotSync 正等待复制槽控制文件到达稳定存储。
    ReplicationSlotWrite 正等待对复制槽控制文件的写操作。
    SLRUFlushSync 在检查点或者数据库关闭期间等待SLRU数据到达稳定存储。
    SLRURead 正等待对SLRU页面的读操作。
    SLRUSync 正等待SLRU数据在页面写之后到达稳定存储。
    SLRUWrite 正等待SLRU页面上的写操作。
    SnapbuildRead 正等待序列化历史目录快照的读操作。
    SnapbuildSync 正等待序列化历史目录快照到达稳定存储。
    SnapbuildWrite 正等待序列化历史目录快照的写操作。
    TimelineHistoryFileSync 正等待通过流复制接收到的时间线历史文件到达稳定存储。
    TimelineHistoryFileWrite 正等待通过流复制接收到的时间线历史文件的读操作。
    TimelineHistoryRead 正等待时间线历史文件上的读操作。
    TimelineHistorySync 正等待新创建的时间线历史文件达到稳定存储。
    TimelineHistoryWrite 正等待新创建的时间线历史文件上的写操作。
    TwophaseFileRead 正等待两阶段状态文件的读操作。
    TwophaseFileSync 正等待两阶段状态文件到达稳定存储。
    TwophaseFileWrite 正等待两阶段状态文件的写操作。
    WALBootstrapSync 在自举期间等待WAL到达稳定存储。
    WALBootstrapWrite 在自举期间等待WAL页面的写操作。
    WALCopyRead 在通过拷贝已有WAL段创建新的WAL段时等待一个读操作。
    WALCopySync 正等待通过拷贝已有WAL段创建的新WAL段到达稳定存储。
    WALCopyWrite 在通过拷贝已有WAL段创建新的WAL段时等待写操作。
    WALInitSync 正等待新初始化的WAL文件到达稳定存储。
    WALInitWrite 在初始化新的WAL文件期间等待写操作。
    WALRead 正等待对WAL文件的读操作。
    WALSenderTimelineHistoryRead 在walsender的时间线命令期间等待对时间线历史文件的读操作。
    WALSyncMethodAssign 在指派WAL同步方法时等待数据到达稳定存储。
    WALWrite 正等待对WAL文件的写操作。
    说明 polar_stat_activity视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
  • polar_stat_activity_rt
    描述所有进程的当前状态, polar_stat_activity_rt视图统计的是实时数据。
    参数 类型 描述
    pid integer 进程ID
    backend_type text 当前backend类型。
    cpu_user bigint 当前backend用户态CPU。
    cpu_sys bigint 当前backend系统态CPU。
    rss bigint 当前backend内存占用。
    local_read_ps bigint 本地文件系统读IO累计次数。
    local_write_ps bigint 本地文件系统写IO累计次数。
    local_read_throughput bigint 本地文件系统读IO累计吞吐量。
    local_write_throughput bigint 本地文件系统写IO累计吞吐量。
    local_read_latency_ms double 本地文件系统读IO延迟时间。
    local_write_latency_ms double 本地文件系统写IO延迟时间。
    说明 polar_stat_activity_rt视图依赖于polar_monitor插件,其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
  • polar_delta
    注意 polar_delta是一个函数,用于获取视图的增量值,依赖于polar_monitor插件。其中该插件在安装PolarDB O引擎数据库后已默认存在,但需执行create extension polar_monitor命令使其生效。
    使用说明如下:
    1. 创建具有维度列和值列的视图。
      • 维度列名称必须以d开头。
      • 值列名称必须以v开头。
    2. 使用以下方法获取视图:
      "select * from polar_delta (NULL::view_name)"
      "\watch 1 select * from polar_delta (NULL::view_name)"
                                  
  • pg_stat_progress_vacuum
    参数 类型 描述
    pid integer 后端进程ID
    datid oid 该后端连接的数据库的OID。
    datname name 与此后端连接的数据库的名称。
    relid oid 创建索引所依据的表的OID。
    index_relid oid 被创建或重新索引的OID。 在非当前的CREATE INDEX中,这个值为0。
    command text 正在运行的命令:CREATE INDEXCREATE INDEX CONCURRENTLYREINDEXREINDEX CONCURRENTLY
    phase text 索引创建的当前处理阶段。
    lockers_total bigint 在适用的情况下,需要等待的储物柜总数。
    lockers_done bigint 已经等待的储物柜数量。
    current_locker_pid bigint 目前正在等待的储物柜的进程ID。
    blocks_total bigint 本阶段要处理的区块总数。
    blocks_done bigint 当前阶段已经处理的区块数量。
    tuples_total bigint 当前阶段要处理的元组总数。
    tuples_done bigint 在当前阶段已经处理的元组数量。
    partitions_total bigint 在分区表上创建索引时,该列被设置为要在其上创建索引的分区总数。
    partitions_done bigint 当在分区表上创建索引时,该列被设置为在其上完成索引的分区数。
  • pg_stat_bgwriter
    pg_stat_bgwriter视图将只有单独的一行,包含集群的全局数据。
    参数 类型 描述
    checkpoints_timed bigint 已经被执行的计检查点的数量。
    checkpoints_req bigint 已经被执行的请求检查点的数量。
    checkpoint_write_time double precision 在文件被写入磁盘的检查点处理部分花费的总时间。单位:毫秒。
    checkpoint_sync_time double precision 在文件被同步到磁盘中的检查点处理部分花费的总时间。单位:毫秒。
    buffers_checkpoint bigint 在检查点期间被写的缓冲区数目。
    buffers_clean bigint 被后台写进程写的缓冲区数目。
    maxwritten_clean bigint 后台写进程由于已经写了太多缓冲区而停止清洁扫描的次数。
    buffers_backend bigint 被后端直接写的缓冲区数量。
    buffers_backend_fsync bigint 执行fsync调用的次数(通常即使后端会自动进行写操作,后台写进程也会处理这些)。
    buffers_alloc bigint 被分配的缓冲区数量。
    stats_reset timestamp with time zone 这些统计信息上次被重置的时间。
  • pg_locks
    参数 类型 描述
    locktype text 可锁对象的类型: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory
    database oid 锁目标存在的数据库的OID。如果目标是共享对象则为0,如果目标是事务ID则为空。
    relation oid 作为锁目标的关系的OID。如果目标不是关系或者只是关系的一部分,则此列为空。
    page integer 作为锁目标的页在关系中的页号。如果目标不是关系页或元组,则此列为空。
    tuple smallint 作为锁目标的元组在页中的元组号。如果目标不是元组,则此列为空。
    virtualxid text 作为锁目标的事务虚拟ID。如果目标不是虚拟事务ID,则此列为空。
    transactionid xid 作为锁目标的事务ID。如果目标不是事务ID,则此列为空ID。
    classid oid 包含锁目标的系统目录的OID。如果目标不是普通数据库对象,则此列为空。
    objid oid 锁目标在它的系统目录中的OID。如果目标不是普通数据库对象,则为空。
    objsubid smallint 锁的目标列号(classid和objid指表本身)。如果目标是某种其他普通数据库对象,则此列为0。如果目标不是普通数据库对象,则此列为空。
    virtualtransaction text 保持锁或者正在等待锁的事务的虚拟ID。
    pid integer 保持锁或者正在等待锁的服务器进程的PID。如果此锁被预备事务所持有,则此列为空。
    mode text 此进程已持有或者希望持有的锁模式。
    granted boolean 如果锁已授予则为真。如果锁被等待则为假。
    fastpath boolean 如果锁通过快速路径获得则为真。通过主锁表获得则为假。