0
点赞
收藏
分享

微信扫一扫

postgres慢查询实操

颜路在路上 2022-04-14 阅读 59
postgresql

配置要记录慢查询的时间

#在postgresql.conf中配置(毫秒)
log_min_duration_statement=10000;
#或者针对数据库(毫秒),执行sql语句
alter database xxdbname set log_min_duration_statement=5000;

构建延迟测试,使用事务并设置sleep(秒数);

begin TRANSACTION; 
select pg_sleep(5);
select now() ;
END TRANSACTION;

获取慢日志分析

select * from pg_stat_activity where state<>'idle' and now()-query_start > interval '1 s' order by query_start ;

select * from pg_stat_activity where state<>'idle' and now()-query_start > interval '500 ms' order by query_start ;

查看日志存储位置

log_destination = 'csvlog' #开了这个后,下面log_filename指定的log后缀文件将不会有内容,全部在csv文件中
logging_collector = on
log_directory = 'pg_log' #当前目录下的pg_log文件夹
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

下载当前csv文件分析:
在这里插入图片描述
可以看出当前执行过5秒的sql;

举报

相关推荐

0 条评论