查找postgresql的慢SQL

查找执行慢的sql,可以开启druid的监控,也可以在数据库开启性能监控。

oracle默认开启,pg需要手动配置开启。

pg的统计信息放入pg_stat_statements中,开启统计信息之后,对pg库的性能会有一定影响,应该不会太大,可以在备库上添加开启统计信息。

1 修改pg配置文件postgre.sql

shared_preload_libraries = 'pg_stat_statements'

2 创建pg_stat_statements扩展

CREATE EXTENSION pg_stat_statements;

查询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;

统计结果会一直存在,可以清空统计结果:
 

select pg_stat_statements_reset() ;

 

你可能感兴趣的:(postgre,慢查询)