目录

引言

相关参数介绍

log_statement ='mod'   --指定相关语句的收集

log_directory = '/home/postgres/log'    --指定收集的日志文件路径 

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'  --指定收集日志生成的文件名称

logging_collector = on  --指定开启日志收集

log_truncate_on_rotation = off  --指定同名是否覆盖日志文件

log_rotation_age

log_rotation_size

参数配置

引言

在postgresql数据库中使用pitr对丢失的数据库进行回放的同时,很容易忘记数据丢失的具体时间。此时,开启日志收集定向收集数据变更的语句执行,能大大方便我们定位pitr回放的时间节点。

相关参数介绍

log_statement ='mod'   --指定相关语句的收集

控制哪些 SQL 语句被记录。有效值是 none (off)、ddl、mod和 all(所有语句)。ddl记录所有数据定义语句,例如CREATE、ALTER和 DROP语句。mod记录所有ddl语句,外加数据修改语句例如INSERT, UPDATE、DELETE、TRUNCATE, 和COPY FROM。 如果PREPARE、EXECUTE和 EXPLAIN ANALYZE包含合适类型的命令,它们也会被记录。

log_directory = '/home/postgres/log'    --指定收集的日志文件路径 

此参数用于指定日志文件的存储路径。例如,如果设置为'/home/postgres/log',则所有的日志文件将被存储在这个目录下。

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'  --指定收集日志生成的文件名称

log_filename:此参数用于指定日志文件的名称。可以使用一些特殊的占位符,如'%Y'、'%m'、'%d'、'%H'、'%M'和'%S',分别代表年、月、日、小时、分钟和秒。  

logging_collector = on  --指定开启日志收集

此参数用于控制是否启用日志收集。如果设置为'on',则日志收集器进程将被启动,用于管理日志文件。

log_truncate_on_rotation = off  --指定同名是否覆盖日志文件

此参数用于控制在日志文件轮转时是否截断旧的日志文件。如果设置为'off',则在新的日志文件开始时,旧的日志文件将被保留,而不是被截断。如果日志文件最大值够大,文件名使用时间戳后缀,那么重名文件还是很难会发生。

log_rotation_age

此参数用于控制每个日志文件的最大寿命。当日志文件的寿命超过这个值时,将开始一个新的日志文件。常用于自动化清理日志,防止占用过高磁盘空间,这个参数的默认值是1d(一天)

log_rotation_size

        此参数用于控制每个日志文件的最大大小。当日志文件的大小超过这个值时,将开始一个新的日志文件。当一个日志文件的大小超过这个设定值时,PostgreSQL会创建一个新的日志文件。这个参数的默认值是10MB

参数配置

log_statement ='mod' 

log_directory = '/home/postgres/log' 

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

logging_collector = on 

log_truncate_on_rotation = off --指顶不覆盖

log_rotation_age = 14d --指定保留两个星期的日志

log_rotation_size = 10MB --指定单个文件大小上限为10MB

进入数据库模拟操作

create table text(id int) ;

insert into text (id) select n from generate_series(1,1000) as n;

delete from text where id <20

truncate table text;

vacuum text;

在我们指定的路径下已经生成相关文件csv文件中已经记录我们对数据变更操作的记录

  关于每一列的含义 在postgresql数据库中如何实现Oracle中dblink功能 blog有做介绍。

精彩文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。