【 使用环境 】 测试环境
【 OB or 其他组件 】OMS
【 使用版本 】4.2.8_CE
【问题描述】 使用 OMS 配置 PGTOOB 的增量同步任务后,发现 wal 日志持续增大。
PG 数据库为 15.3
查询复制槽WAL日志相关信息:
SELECT slot_name, active, restart_lsn,
confirmed_flush_lsn, pg_walfile_name(confirmed_flush_lsn),
pg_current_wal_lsn(),
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_insert_lsn(), restart_lsn)) AS delay_size
FROM pg_replication_slots;
oms_np_6l58twh6g0qo_1742450330646 | true | 379/DB0706A0 | 379/DB0706D8 | 0000000100000379000000DB | 387/1C0FBFB0 | 53 GB |
---|---|---|---|---|---|---|
oms_np_6lk4h8obinkw_1742810560622 | true | 384/87AC06F0 | 384/87AC0808 | 000000010000038400000087 | 387/1C0FBFB0 | 10 GB |
发现 confirmed_flush_lsn 没有更新。
任务中的增量任务正常运行中,也能够正常监控到数据写入并更新到 OB 中。
在官方文档中看到增量同步的描述:
增量同步任务开始后,OMS 社区版会同步源库发生变化的数据(新增、修改或删除)至目标端数据库对应的表中。
PostgreSQL 数据库作为源端的增量同步会自动创建 publication 和 slot。但是需要用户来监测归档文件的磁盘使用情况。OMS 社区版默认每 10 分钟通知更新一次 slot 的 confirmed_flush_lsn,间隔周期支持配置。并且默认归档文件需要保存 48 小时,因此只会通知可清理超过 48 小时以上的归档日志(可配置)。
不知道是否是confirmed_flush_lsn通知上有问题导致数据库未能够清理过期 wal日志?