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' ;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。