• 技术文章 >数据库 >PostgreSQL

    postgresql不生成日志文件(pg_log)怎么解决

    yangyang2020-04-07 16:00:18原创6190

    postgresql不生成日志文件怎么解决?

    pg_log(数据库运行日志)默认是关闭的,需要设置参数启用此日志。pg_xlog和pg_clog都是强制打开的,无法关闭。

    启用pg_log并配置日志参数:

    log_destination = 'csvlog'
    logging_collector = on
    log_directory = 'pg_log'
    log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
    log_rotation_age = 1d
    log_rotation_size = 100MB
    log_min_messages = warning

    参数解释:

    log_directory = '/data/pgsql086/log'

    这个参数只能在postgresql.conf文件中被设置。它决定存放数据库运行日志文件的目录。默认值是pg_log。可以是绝对路径,也可是相对路径(相对于数据库文件所在的路径)。

    log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

    它决定数据库运行日志文件的名称。默认值是postgresql-%Y-%m-%d_%H%M%S.log。它的值可以包含%Y、%m、%d、%H、%M和%S这样的字符串,分别表示年、月、日、小时、分和秒。 如果参数的值中没有指定时间信息(没有出现%Y、%m、%d、%H、%M和%S中的任何一个),系统会自动在log_filename值的末尾加上文件创建的时间作为文件名,例如,如果log_filename的值是 server_log,那么在Sun Aug 29 19:02:33 2004 MST被创建的日志文件的名称将是server_log.1093827753,1093827753是Sun Aug 29 19:02:33 2004 MST在数据库内部的表示形式。这个参数只能在postgresql.conf文件中被设置。

    log_rotation_age = 1d

    单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件

    log_rotation_size = 10MB

    这个参数只能在postgresql.conf文件中被设置。单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件只能到10M,否则将新生成一个日志文件。

    log_min_messages = warning 默认是warning ,

    控制写到数据库日志文件中的消息的级别。合法的取值是DEBUG5、DEBUG4、DEBUG3、DEBUG2、DEBUG1、INFO、NOTICE、WARNING、ERROR、 LOG、FATAL和PANIC,每个级别都包含排在它后面的所有级别中的信息。级别越高,数据库运行日志中记录的消息就越多。

    推荐:PostgreSQL教程

    专题推荐:postgresql
    上一篇:postgresql日志放在哪里 下一篇:在postgresql数据库中有哪些表

    相关文章推荐

    • postgresql常见错误• postgresql如何退出命令• postgresql如何连接数据库• postgresql如何查看(point类型变量)坐标系

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网