【DBSyncer】用于数据同步的工具尝试

1  前言

DBSyncer,不知道大家用没用过,我之前看过,今儿空了,来试试。

地址:https://gitee.com/ghi/dbsyncer

地址如上,主要是用于数据库层面的同步,废话不多说,我简单玩了玩先,还真不错,空了我再细看看。

2  数据同步例子

2.1  定义目标

这是我两个数据库的两张表,我们来看看如何用这个工具同步两张表的结果。

2.2  步骤展示

2.2.1  拉取代码

首先从仓库上把代码拉取下来:

2.2.2  直接运行

直接运行,访问如下地址:

http://localhost:18686/

这个是我已经测试完的,正常的话你刚开是空白的:

2.2.3  数据源添加

然后我们把两个数据库的数据源添加上:

2.2.4  添加驱动

然后添加驱动,将两个数据源关联起来:

2.2.5  启动

然后点击驱动的右上角,启动:

2.2.6  效果

挺好。

3  注意事项

记得先把数据库的逻辑订阅打开:

# 查看配置文件在哪
psql -U 用户名 -c "SHOW config_file;"
# 开启逻辑复制
wal_level = logical

修改完重启:

brew services start postgresql@14

驱动的账号密码记得授予复制权限哈:

# 登录
psql -U postgres
# 授权
ALTER ROLE postgres LOGIN REPLICATION;
# 退出
\q

4  小结

好啦,挺好使,原理貌似是根据 PgSQL 的订阅来进行复制的,等空了,再细细研究下。

select * from pg_replication_slots;

这个还是比较重要的,比如数据的同步像平时大家遇到的中台往下游系统比如 WMS、POS推送商品、客户等基础信息场景的时候,是不是可以利用这个同步。再比如操作记录、审计是不是也可以基于这个来做。

posted @ 2024-02-19 22:07  酷酷-  阅读(271)  评论(0编辑  收藏  举报