暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

磐维数据库2.0系列:使用WalMiner插件挖掘XLOG

原创 #5z# ๑҉ 2024-01-22
616

磐维数据库,简称"PanWeiDB"。是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。其产品内核能力基于华为openGauss开源软件,并进一步提升了系统稳定性。

前言

磐维2.0.0集中式版本集成了WalMiner插件,使用WalMiner插件可以对XLOG文件解析出执行的SQL语句,与传统的逻辑复制插件相比,WalMiner不要求wal_level设置为logical级别,且解析方式较为灵活。

WalMiner功能简介

WalMiner支持从XLOG中解析出SQL,包括INSERT、DELETE、UPDATE

WalMiner使用限制

  • 不能在B模式下使用,支持PG和A模式
  • 暂不支持DDL语句

WalMiner模拟演示

WalMiner可以在生产库执行,也可与数据字典一起导出到配置相同的本地环境进行库解析。

下面演示在生产环境直接执行解析

1. 创建walminer的extension

create extension walminer;

2. 添加需要解析的XLOG文件

可以添加目录或者文件,本文添加pg_xlog目录

select walminer_wal_add('/opt/data_pw_pg/pg_xlog/');

如果要移除XLOG文件,使用walminer_wal_remove逐个文件进行移除

select walminer_wal_remove('/opt/data_pw_pg/pg_xlog/000000010000000000000001');

添加完成后也可以查看文件列表

select walminer_wal_list();

3. 执行解析

方式一:解析全部XLOG,适用于少量文件

select walminer_all();

方式二:按时间段解析

select walminer_by_time('2024-01-01 03:37:29','2024-01-20 03:37:31');

方式三:单表解析

select walminer_by_time('2024-01-01 03:37:29','2024-01-20 03:37:31','false',to_regclass('tab2'));

第3个参数false代表非精确解析模式,第4个参数是表的oid

4. 查看结果

可以根据表名进行过滤

select * from walminer_contents;

注意:walminer_contents表是自动生成的unlogged表,每次解析会首先创建或清空。

5. 结束WalMiner操作

释放内存,结束解析

select walminer_stop();

如果在其他环境进行解析,需要操作之前在A环境生成导出数据字典,再导入到B环境

A环境生成数据字典

select walminer_build_dictionary('/home/panwei/store_dictionary');

/home/panwei/store_dictionary路径可自定义

B环境需要导入数据字典

select walminer_load_dictionary('/home/panwei/store_dictionary');

参考链接

https://gitee.com/movead/XLogMiner/tree/walminer_3.0_stable/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论