加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql-pg_stat_statements

发布时间:2020-12-13 16:51:19 所属栏目:百科 来源:网络整理
导读:修改postgresql.conf文件,并重启postgreSQL shared_preload_libraries = 'pg_stat_statements' pg_stat_statements. max = 1000 //跟踪的最大语句数量,缺省是1000条 pg_stat_statements. track = all //控制那些语句会被追踪,可选top(缺省),all和none

修改postgresql.conf文件,并重启postgreSQL

shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 1000                   //跟踪的最大语句数量,缺省是1000条
pg_stat_statements.track = all                  //控制那些语句会被追踪,可选top(缺省),all和none

创建pg_stat_statements

create extension pg_stat_statements;     //创建pg_stat_statements extension
CREATE EXTENSION
d pg_stat_statements;                   //查看视图结构
          View "public.pg_stat_statements"
       Column        |       Type       | Modifiers
---------------------+------------------+-----------
 userid              | oid |
 dbid                | oid |
 query               | text |
 calls               | bigint |
 total_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 |
 blk_write_time      | double precision |

查找执行最慢的语句(查最慢10条SQL语句):

select query,calls,total_time,(total_time/calls) as average,rows,100.0*shared_blks_hit/nullif(shared_blks_hit+shared_blks_read,0) as hit_percent from pg_stat_statements order by average desc limit 10;

为使输出精简,也可执行以下语句(最慢2条语句):

select query,0) as hit_percent from pg_stat_statements order by average desc limit 2;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读