zoukankan      html  css  js  c++  java
  • postgresql日志配置

    日志配置

    # 启动日志收集, 这是一个后台进程,抓取发送到stderr的日志消息,并会将他们重定向到日志文件。
    logging_collector = on    
    
    # 日志输出路径,可以是自定义绝对路径或相对于数据目录 PGDATA 的相对路径
    log_directory = 'log'
    
    # 文件名,可以带上格式字符串
    # 保留一周,每天一个文件,当ROTATE时间周期到达后,重复使用同一个文件前truncate文件内容
    log_filename = 'postgresql-%a.log'
    
    # 什么时候触发基于时间的rotate
    log_rotation_age = 1d    
    
    # 当生成新的文件时,文件名已存在,则覆盖同名旧文件名
    log_truncate_on_rotation  = on
    
    # 如果文件达到100MB,切换到下一个文件(如果文件名与当前已有文件名同名,则APPEND,而不会truncate这个文件)      
    # 所以以上配置,1天内文件大小可以超过100MB。     
    log_rotation_size = 100MB    # 什么时候触发基于文件大小的rotate。 
    
    #设置日志记录内容,log_statement:none, ddl, mod, and all 默认是 none 
    # None表示不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP语句,
    # mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等
    # all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句,但会对数据库性能产生较大影响,生产环境不建议配置此值
    log_statement = mod
    
    # 以上设置完成之后,可以记录到 update、drop 等,但是并不会记录 select 语句,加上 log_min_duration_statement = 0 才可以记录到select
    log_min_duration_statement=0
    

    完成以上设置后,7天后会有7个日志文件,分别为周一到周日,日志文件会不断的覆盖前一个星期
    > log_truncate_on_rotation设置为on的情况下:
    > log_rotation_age触发,切文件,如果下一个log文件名的文件已经存在,会先执行文件truncate清数据。
    > log_rotation_size触发,切文件,如果下一个log文件名的文件已经存在,则append写,不会执行文件truncate清数据。
    > 所以rotate时,新的log文件名至关重要。
    > 如果要配置保留7天,每天写一个文件,其实也是在文件名上下功夫,例如配置为%aAud都是可以的。

    博主只是写了自己用到的配置,详细的配置,请借鉴德哥的文章:
    https://github.com/digoal/blog/blob/master/201907/20190720_02.md



    作者:cchilei

    -------------------------------------------

    个性签名:竹杖芒鞋轻胜马 一蓑烟雨任平生

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    托词坚持了170多天,昨天因为晚上打球竟然给忘了
    2013转眼间半年过去了,回顾一下。也看一下计划的实施情况以及下半年的计划
    开始新的板子PCB绘制了。
    致时代前行者:致敬每一个奔腾不息的心灵(转)
    刚才看了年初的计划,增加一部分内容
    五种男人
    哪些行业会用到乐泰胶水?
    第一个python小程序
    一个简单的IPmsg程序源码分析(一)
    关于linux下面printf函数缓冲区问题
  • 原文地址:https://www.cnblogs.com/cchilei/p/13565040.html
Copyright © 2011-2022 走看看