postgresql抓取数据库的DML DDL语句

目录

引言

相关参数介绍

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)、ddlmod和 all(所有语句)。ddl记录所有数据定义语句,例如CREATEALTER和 DROP语句。mod记录所有ddl语句,外加数据修改语句例如INSERTUPDATEDELETETRUNCATE, 和COPY FROM。 如果PREPAREEXECUTE和 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有做介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值