本章節主要介紹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執行總次數。