0

我安装了 Bucardo,一切都很好,直到几天后我检查了同步是否正确复制了我的数据,我发现它没有!

检查 bucardo 日志我可以找到这个警告:

MCP Warning: Source database for sync "sync_name" has column "column_name" of table "table_name" but target database "db_slave" does not
MCP Validation of sync FAILED
MCP Active syncs: 0
MCP Entering main loop

为什么 bucardo 停止同步?为什么如果我检查“bucardo status”,我可以看到同步状态是“Good”?

如果我检查验证:

bucardo validate sync_name

输出是:

Validating sync sync_name ... OK

但是当然不行!

问题是否与我在主数据库上运行迁移有关?我该如何解决这个问题,让 bucardo 再次同步?

提前致谢!

4

2 回答 2

2

正如@Richard Huxton 建议的那样,我可以在Bucardo 文档中找到答案。

由于 DDL 是操作数据库模式的方式,所以我需要寻找的是:

Bucardo 能否复制 DDL?

答案不是。

因此,如果源数据库的架构发生变化,Bucardo 将停止同步。

就我而言,我使用的是 Bucardo,因为我的源数据库在 AWS RDS 上,所以我无法手动配置 Postgres,享受他的Streaming Replication

于 2016-04-27T08:26:37.160 回答
2

你知道吗,有时,有时它有助于 (1) 浏览项目提供的文档和 (2) 阅读错误消息,它会准确地告诉你它不满意的地方。

https://bucardo.org/wiki/Bucardo/FAQ#Can_Bucardo_replicate_DDL.3F

于 2016-04-26T18:33:15.473 回答