PostgreSQL修炼之道:从小工到专家(第2版)
上QQ阅读APP看书,第一时间看更新

2.3.3 数据库日志相关参数

下面来看看与日志相关的几个参数:

日志的收集一般是需要打开的,所以需要进行如下设置:


logging_collector = on

注意,在新版本的数据库中,以上参数默认已打开,如PostgreSQL10版本。

日志的目录一般使用默认值即可:


log_directory = 'pg_log'

在PostgreSQL10版本中,程序日志目录是在log目录下,即上述配置如下:


log_directory = 'log'                    # directory where log files are written,

日志切换和是否覆盖一般可以使用如下几种不同的方案。

方案一:每天生成一个新的日志文件。

配置方法如下:


log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0

方案二:每当日志写满一定的大小(如10MB),则切换一个日志。

配置方法如下:


log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 0
log_rotation_size = 10M

方案三:只保留最近7天的日志,进行循环覆盖。

配置方法如下:


log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on 
log_rotation_age = 1d
log_rotation_size = 0

PostgreSQL10以上版本默认的日志方案是方案三,不需要再进行修改。