news 2026/6/10 17:44:50

PanguSync说明书

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PanguSync说明书

PanguSync说明书

目录

1.部署PanguSync软件的前提条件(重要)

2.云数据库部署注意事项

3.如何部署A ⇌B双向同步模式

4.如何部署A→B、A→C、A→D一主多备模式

5.如何部署A→B→C→D链式模式

6.如何跳过初始数据直接进行增量同步

7.如何重新同步某条数据

8.Sqlserver超出了最大嵌套层数(最大层数为 32)

9.如何开机自启动并且自动批量运行任务

1.部署PanguSync软件的前提条件

【重要】同步机制类似订阅发布中的合并复制,合并复制要求:

  1. 表拥有主键(复合主键也行)
  2. Insert语句需指定字段,类似insert into table (c1,c2)values(v1,v2)这种形式
  3. 任务运行后,源表会增加C_PanguSyncSourceTimestamp时间戳字段,目标表会增加C_PanguSyncTargetTimestamp字段,这两个字段在业务系统中不要去主动写入值(双向同步时冲突覆盖依据,以最新的为准)

2.云数据库部署注意事项

1.部署PanguSync的服务器与目标数据库服务器越近越好,如果网络延迟很大,可能影响同步速度有条件的话,部署PanguSync的服务器和目标云数据库最好处于同一区域VPC内,然后用内网连接。

2.云数据库一般会使用非root账户,当云数据库作为源时,可能会报权限不足。假如源库名称为A,你需要在云平台手动创建后缀为_PanguSync的库,即名称为A_PanguSync,然后把A_PanguSync的所有权限赋予同步用户。

3.如何部署A ⇌B双向同步模式

答:假如A为主节点,B为备节点,先使用truncate语句(不要使用delete)清空B表数据,然后部署B → A的任务,点击运行成功后再来部署A → B的任务,然后点击运行,如果之前有测试过该任务的双向同步,请在A端执行

Mysql:updatetableset C_PanguSyncSourceTimestamp = current_timestamp(6) where C_PanguSyncSourceTimestamp ='2000-01-01 00:00:00.000000'

Sqlserver:updatetableset C_PanguSyncSourceTimestamp = sysdatetime() where C_PanguSyncSourceTimestamp ='2000-01-01 00:00:00.000000'

PostgreSQL:update"table"set"C_PanguSyncSourceTimestamp" = CURRENT_TIMESTAMP where "C_PanguSyncSourceTimestamp" ='2000-01-01 00:00:00.000000'

这个时候会先做A → B的全量同步,初始数据全量同步完成后,继续做增量同步,这种模式适用于数据双机热备,仅在固定一个节点写入,另外一个节点做热备份。假如A宕机,则业务可以切换到B,在B进行写入,当A恢复后,宕机期间在B写入的数据可以同步到A。注意该模式仅在固定一个节点写入。如果你要双写,即两个节点业务系统都在写数据,则需要满足以下条件:【主键非自增】

否则可能会造成两边数据冲突,冲突后,同步软件会根据主键按最新策略进行同步。另外需要注意部署双向任务时,IP需要相互对应,并且两个任务需部署在同一个PanguSync软件进程中。

4.如何部署A→B、A→C、A→D一主多备模式

答:分别添加A→B、A→C、A→D的任务即可。A写入,BCD仅读,如果在BCD写入数据,可能导致数据不一致。

5.如何部署A→B→C→D链式模式

答:分别添加A→B、B→C、C→D的同步任务,其中A→B、B→C的任务编辑界面【配置项】需要勾选【特殊模式】,如果后面还要接下去,比如D还要同步到E,那么C→D任务中也要勾选【特殊模式】,【特殊模式】这个选项的意思是该任务的源写入后是否同步到目标的下游,比如A→B中勾选【特殊模式】后,意味着A的写入可以同步到B的下游即C,在链式模式中依然只有A可以写入,BCD仅读,如果BCD写入,可能导致数据不一致

6.如何跳过初始数据直接进行增量同步

答:PanguSync软件不管你初始数据如何,它都会进行一个全量同步,然后再进行增量同步,即如果你两边数据完全一致,PanguSync依然会先进行全量同步,如果你要跳过一开始的全量同步,那么你需要先停止业务系统的写入,防止新数据进来,然后运行任务,当任务开始同步时(信息列跳动时)停止任务,在源端执行 SELECT max(C_PanguSyncSourceTimestamp) from 表,查询出最大的时间,如下图所示,

然后编辑任务,在where条件处配置 C_PanguSyncSourceTimestamp>'2025-03-28 20:11:28.123579' ,如下图所示

最后再启动任务,即可直接进行增量同步了。初始数据删除或更新也是能同步的。

7.如何重新同步某条数据

答:比如A → B任务,A中的某条数据你想重新来一次同步,那么可以在A中执行

Mysql:update tableset C_PanguSyncSourceTimestamp =current_timestamp(6) where 条件

Sqlserver:update tableset C_PanguSyncSourceTimestamp =sysdatetime() where 条件

PostgreSQLupdate "table" set "C_PanguSyncSourceTimestamp" = CURRENT_TIMESTAMP where 条件

执行后,在源中满足条件的数据会重新同步一次,注意where条件包含的数据行不要过多,更不能不指定where条件,否则可能会导致同步很长时间,这是要避免的。

8.Sqlserver超出了最大嵌套层数(最大层数为 32)

答:当更新触发器中有更新自身表字段的值时,会造成无限触发,用户需要在自己的触发器中加入判断条件如 if update (字段),如下图所示,

或者 if not update (C_PanguSyncSourceTimestamp) 也是可以的

9.如何开机自启动并且自动批量运行任务

  1. 将软件设置为快捷方式,然后Win+R输入shell:startup,将快捷方式拖入该目录
  2. Win+R输入control userpasswords2,取消“要使用本计算机,用户必须输入用户名和密码”
  3. 在PanguSync软件的Config目录内添加一个名为AutoStart.txt的空文件
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:42:17

用MySQL WITH AS快速验证数据模型设计

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个数据模型快速验证工具,使用MySQL WITH AS实现:1) 动态构建虚拟数据模型;2) 模拟多表关联关系;3) 实时查询验证;4…

作者头像 李华
网站建设 2026/6/10 11:32:49

5分钟搞定Kafka连接工具原型开发

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请生成一个Kafka连接工具的原型代码,功能包括:1. 连接到Kafka集群;2. 发送和接收JSON格式的消息;3. 包含基本的错误提示。使用Node.j…

作者头像 李华
网站建设 2026/6/10 3:38:21

ZLMediaKit分布式架构实战:构建弹性伸缩的流媒体集群

ZLMediaKit分布式架构实战:构建弹性伸缩的流媒体集群 【免费下载链接】ZLMediaKit 项目地址: https://gitcode.com/gh_mirrors/zlm/ZLMediaKit 在当今数字化时代,流媒体服务已经成为各行各业的基础设施。面对日益增长的用户需求和复杂的网络环境…

作者头像 李华
网站建设 2026/6/9 19:41:40

VideoDownloadHelper:轻松下载网页视频与图片的终极解决方案

VideoDownloadHelper:轻松下载网页视频与图片的终极解决方案 【免费下载链接】Chrome插件VideoDownloadHelper下载指南 本仓库提供了一个名为 **VideoDownloadHelper** 的Chrome插件资源文件下载。该插件适用于谷歌和火狐浏览器,能够帮助用户从网站中提取…

作者头像 李华
网站建设 2026/6/10 16:31:23

FaceFusion vs 传统换脸工具:谁才是真正的GPU效率之王?

FaceFusion vs 传统换脸工具:谁才是真正的GPU效率之王? 在如今短视频内容爆炸式增长的时代,AI换脸早已不再是实验室里的技术玩具。从影视特效到直播互动,从虚拟偶像到个性化创作,人脸替换技术正以前所未有的速度渗透进…

作者头像 李华
网站建设 2026/6/10 0:52:12

从v4到v5:Labelme核心升级与无缝迁移实战指南

从v4到v5:Labelme核心升级与无缝迁移实战指南 【免费下载链接】labelme Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation). 项目地址: https://gitcode.com/gh_mirrors/la/labelme Label…

作者头像 李华