auto_explain可以定义sql执行的时间以记录在postgres中日志中,包含sql的直接计划,在线上优化时可以说是一个非常好用的工具,
另外结合pg_stat_statements、log_min_duration_statement和log_statement = all 可以说是分析线上慢sql的利器,auto_explain包含在安装软件中,可以直接安装使用:
[root@my1 ~]# cd postgresql-10.0/contrib/auto_explain
[root@my1 auto_explain]# make && make install
配置postgresql.conf文件:
shared_preload_libraries = 'auto_explain'
# auto_explain
#auto_explain.log_min_duration = '1s' #记录执行超过1s的sql
auto_explain.log_min_duration = 100 #记录执行超过100ms的sql
#auto_explain.log_min_duration = 0 #记录全部执行的sql
auto_explain.log_timing = on
auto_explain.log_verbose = on
重启数据库:
pg_ctl restart -m fast
备注:
auto_explain.log_min_duration 可以随时修改,修改后reload即可,线上可以根据需要进行在线调整
修改需要重启数据库shared_preload_libraries = 'auto_explain' ;
创新互联建站专注于留坝网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供留坝营销型网站建设,留坝网站制作、留坝网页设计、留坝网站官网定制、成都小程序开发服务,打造留坝网络公司原创品牌,更为您提供留坝网站排名全网营销落地服务。