微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL 慢查询SQL语句跟踪

示例:启用 sql 跟踪

Postgresql 日志支持输出格式有 stderr(认),csvlog,syslog


一般的错误跟踪,只需在配置文件 【postgresql.conf】简单设置几个参数,当然还有错误级别等要设置。

logging_collector = on
log_destination = 'stderr'
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%s.log'
SELECT name,setting,vartype,boot_val,reset_val FROM pg_settings 
where name in('logging_collector','log_destination','log_directory','log_filename');

认的跟踪日志记录在 pgdate/log 中,如/usr/local/pgsql/data/log 。

其他几个重要参数说明:

log_rotation_age = 1440				#minute,多长时间创建新的文件记录日志。0 表示禁扩展。
log_rotation_size = 10240			#kb,文件多大后创建新的文件记录日志。0 表示禁扩展。
log_truncate_on_rotation = on 		#可重用同名日志文件

当需要跟踪sql语句或者慢语句,得需要设置以下参数:
log_statement = all	 #需设置跟踪所有语句,否则只能跟踪出错信息
log_min_duration_statement = 5000	#milliseconds,记录执行5秒及以上的语句

log_statement:
设置跟踪的语句类型,有4种类型:none(认),ddl,mod,all。跟踪所有语句时可设置为 "all"。

log_min_duration_statement:
跟踪慢查询语句,单位为毫秒。如设置 5000,表示日志将记录执行5秒以上的sql语句。

当 log_statement=all 和 log_min_duration_statement 同时设置时,将跟踪所有语句,忽略log_min_duration_statement 设置。所以需按情况设置其中一个或两个值。

原文地址:https://www.jb51.cc/postgresql/193421.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐