1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

PostgreSQL日志轮滚配置教程

PostgreSQL日志滚动介绍

作为一名本际云服务器推荐网的小编,我为大家介绍一下PGSQL的日志处理机制。PGSQL日志处理机制是通过logging_collector参数来控制日志文件是持续追加,还是定期循环覆盖的。针对循环覆盖的场景,是基于时间的方式,即多长时间开始循环覆盖。

PostgreSQL日志轮滚配置教程

PostgreSQL配置参数解读

下面我们来对几个PGSQL的相关参数进行解读。

2.1 开启日志记录功能

logging_collector = on 开启该参数后,系统能够收集所有通过stderr输出的日志消息,并将它们存储到一个日志文件中。

2.2 日志滚动策略

下面分别介绍PGSQL的日志滚动策略的五个参数:

  • log_directory:配置PGSQL日志文件存放目录(默认为pg_log)
  • log_filename:配置PGSQL日志文件名和扩展名,支持使用时间相关的格式化符(例如:%Y、%m、%d、%H、%M和%S)。
  • log_truncate_on_rotation:配置PGSQL日志文件循环覆盖的方式(覆盖或者追加)。
  • log_rotation_age:配置PGSQL日志文件循环覆盖的时间。当日志文件达到该时间后,系统会自动创建一个新的日志文件。
  • log_rotation_size:配置PGSQL日志文件循环覆盖的大小。当日志文件达到该尺寸后,系统会自动创建一个新的日志文件。

案例演示

下面给出两个案例演示,以说明PGSQL如何进行日志滚动。

3.1 log_filename日志格式说明

PGSQL默认的日志文件名称格式是:postgresql-%Y-%m-%d_%H%M%S.log,上面的字符串包含一些时间信息。PGSQL通过配置这些时间相关的格式化符,可以自动为不同的日志文件分配不同的文件名称。

3.2 配置案例演示

下面分别给出保留七天日志和每小时一个日志文件的两个案例演示

  • log_filename = postgresql-.%a.log
    log_truncate_on_rotation = on
    log_rotation_age = 1440
    log_rotation_size = 0

    该配置会为PGSQL创建以星期每天命名的日志文件,并且自动使用本周日志覆盖上周的日志。每个日志文件最长存活时间为1440分钟。这里禁用了基于尺寸的日志轮转。

  • log_filename = postgresql-.%H%M.log
    log_truncate_on_rotation = on
    log_rotation_age = 60
    log_rotation_size = 1000000

    该配置会为PGSQL创建以小时分钟命名的日志文件。每个日志文件最长存活时间为60分钟。当一个日志文件的尺寸超过1000000 KB时,系统会自动创建一个新的日志文件。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7310.html