PosgreSQL日志配置

举报
大中华潇湘夜雨 发表于 2021/11/30 16:19:35 2021/11/30
【摘要】 PostgreSQL 日志支持的输出格式有 stderr(默认), csvlog , syslog 一般的错误跟踪,只需在配置文件 【postgresql.conf】简单设置几个参数,当然还有错误级别等要设置。logging_collector = onlog_destination = 'stderr'log_directory = 'log'log_filename = 'postgre...

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 设置。所以需按情况设置其中一个或两个值。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。