PostgreSQL:几个日志相关的参数

今天在检查数据库时,发现一个奇怪的现象,发现今天的csvlog文件有很多个,差不多半小时就会新生成一个,正常情况下是每天生成一个CSV文件,具体信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-rw------- 1 postgres postgres 743K Nov 28 23:59 postgresql-2010-11-28_000000.csv  
-rw------- 1 postgres postgres 4.8K Nov 28 23:59 postgresql-2010-11-28_000000.log
-rw------- 1 postgres postgres 787K Nov 29 23:59 postgresql-2010-11-29_000000.csv
-rw------- 1 postgres postgres 5.7K Nov 29 23:47 postgresql-2010-11-29_000000.log
-rw------- 1 postgres postgres 898K Nov 30 23:58 postgresql-2010-11-30_000000.csv
-rw------- 1 postgres postgres 3.6K Nov 30 23:49 postgresql-2010-11-30_000000.log
-rw------- 1 postgres postgres 11M Dec 1 20:22 postgresql-2010-12-01_000000.csv
-rw------- 1 postgres postgres 16K Dec 1 23:56 postgresql-2010-12-01_000000.log
-rw------- 1 postgres postgres 11M Dec 1 21:40 postgresql-2010-12-01_202238.csv
-rw------- 1 postgres postgres 11M Dec 1 22:34 postgresql-2010-12-01_214022.csv
-rw------- 1 postgres postgres 11M Dec 1 23:23 postgresql-2010-12-01_223425.csv
-rw------- 1 postgres postgres 7.4M Dec 1 23:59 postgresql-2010-12-01_232323.csv
-rw------- 1 postgres postgres 11M Dec 2 00:52 postgresql-2010-12-02_000000.csv
-rw------- 1 postgres postgres 2.9K Dec 2 23:49 postgresql-2010-12-02_000000.log
-rw------- 1 postgres postgres 11M Dec 2 01:44 postgresql-2010-12-02_005256.csv
-rw------- 1 postgres postgres 11M Dec 2 02:34 postgresql-2010-12-02_014403.csv
-rw------- 1 postgres postgres 11M Dec 2 03:28 postgresql-2010-12-02_023406.csv
-rw------- 1 postgres postgres 11M Dec 2 04:23 postgresql-2010-12-02_032824.csv
-rw------- 1 postgres postgres 11M Dec 2 05:20 postgresql-2010-12-02_042349.csv
-rw------- 1 postgres postgres 11M Dec 2 06:17 postgresql-2010-12-02_052024.csv
-rw------- 1 postgres postgres 11M Dec 2 07:22 postgresql-2010-12-02_061739.csv
-rw------- 1 postgres postgres 11M Dec 2 08:35 postgresql-2010-12-02_072208.csv
-rw------- 1 postgres postgres 11M Dec 2 09:47 postgresql-2010-12-02_083552.csv
-rw------- 1 postgres postgres 11M Dec 2 11:02 postgresql-2010-12-02_094759.csv
-rw------- 1 postgres postgres 11M Dec 2 12:07 postgresql-2010-12-02_110215.csv
-rw------- 1 postgres postgres 11M Dec 2 13:13 postgresql-2010-12-02_120707.csv
-rw------- 1 postgres postgres 11M Dec 2 14:13 postgresql-2010-12-02_131335.csv
-rw------- 1 postgres postgres 11M Dec 2 15:21 postgresql-2010-12-02_141323.csv
-rw------- 1 postgres postgres 11M Dec 2 17:00 postgresql-2010-12-02_152102.csv
-rw------- 1 postgres postgres 11M Dec 2 18:45 postgresql-2010-12-02_170029.csv
-rw------- 1 postgres postgres 11M Dec 2 20:10 postgresql-2010-12-02_184512.csv
-rw------- 1 postgres postgres 11M Dec 2 21:06 postgresql-2010-12-02_201010.csv
-rw------- 1 postgres postgres 11M Dec 2 21:50 postgresql-2010-12-02_210647.csv
-rw------- 1 postgres postgres 11M Dec 2 22:31 postgresql-2010-12-02_215027.csv
-rw------- 1 postgres postgres 11M Dec 2 23:12 postgresql-2010-12-02_223159.csv
-rw------- 1 postgres postgres 11M Dec 2 23:49 postgresql-2010-12-02_231223.csv

发现从 2010-12-01月起开始出现这种现象,并且每个CSV日志文件大小均为11M。接着查看配置文件 postgresql.conf 几个日志参数:

1
2
3
4
5
6
7
# - Where to Log -
log_destination = 'csvlog'
logging_collector = on
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB

由于 log_rotation_age 设置为1天,正常情况下是每天新生成一个 csv 日志,原来 log_rotation_size=10M, CSV日志文件大小超过10M,就会新生成一个,关于log_rotation_size 参数,文档上是这样写的,如下:

log_rotation_size (integer)
When logging_collector is enabled, this parameter determines the maximum size of an individual log file.
After this many kilobytes have been emitted into a log file, a new log file will be created.
Set to zero to disable size-based creation of new log files. This parameter can only be set in the postgresql.conf
file or on the server command line.
log_rotation_age (integer)
When logging_collector is enabled, this parameter determines the maximum lifetime of an individual log file.
After this many minutes have elapsed, a new log file will be created. Set to zero to disable time-based
creation of new log files. This parameter can only be set in the postgresql.conf file or on the server command line.

其它的LOG相关参数可以参照文档。
平常看文档时,大概能明白几个日志参数的含义,但不是很清楚,结合实际维护过程中,才能更准确的理解参数的含义。

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/database/236341.html

(0)
上一篇 2022年1月24日 21:26
下一篇 2022年1月24日 21:26

相关推荐

发表回复

登录后才能评论