news 2026/5/1 11:02:59

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/5/1 9:12:31

零基础教程:VMware Workstation 17 Pro从下载到使用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式新手引导程序,功能包括:1)分步指导下载和安装VMware Workstation 17 Pro;2)创建第一个Windows/Linux虚拟机的向导;3)常…

作者头像 李华
网站建设 2026/4/28 5:35:52

如何用AI自动修复Windows更新补丁KB3020369问题

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Windows更新补丁KB3020369智能修复工具,功能包括:1.自动检测系统环境是否符合补丁要求 2.分析安装失败原因并生成诊断报告 3.提供一键修复解决方案 …

作者头像 李华
网站建设 2026/5/1 8:43:32

零基础30分钟上手Lucksheet:从安装到第一个智能表格

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式Lucksheet新手教程应用,包含:1. 可视化安装引导 2. 基础操作视频演示 3. 实时练习沙盒 4. 常见问题解答机器人 5. 学习进度跟踪。要求使用最简…

作者头像 李华
网站建设 2026/4/23 11:30:38

Piper游戏鼠标配置工具:5分钟掌握专业设备设置技巧

Piper游戏鼠标配置工具:5分钟掌握专业设备设置技巧 【免费下载链接】piper GTK application to configure gaming devices 项目地址: https://gitcode.com/gh_mirrors/pip/piper Piper是一款功能强大的GTK应用程序,专门用于配置各类游戏设备&…

作者头像 李华
网站建设 2026/5/1 7:18:25

大模型时代,前端必须了解一下LangChain应用开发框架_langchain框架配合前端开发,零基础入门到精通,收藏这篇就够了

AI大模型时代已经开始显露出颠覆传统开发范式的趋势,新的应用开发模式正在逐渐显现。LangChain是一个可以用Javascript来进行开发的大模型应用开发框架,它本质上也提供了一种用大模型来进行应用开发的成熟的技术路线/框架。本期节目详细讲解了这个成熟的…

作者头像 李华
网站建设 2026/5/1 6:52:37

Linux命令-gzip命令(用于文件压缩和解压缩的常用工具)

🧭 说明 gzip 是 Linux 系统中用于文件压缩和解压缩的常用工具,它通过 Lempel-Ziv 算法(LZ77)有效减小文件大小,有助于节省存储空间和加快网络传输速度 。 下面这个表格汇总了 gzip 命令的一些常用选项。选项说明-d解压…

作者头像 李华