我安装了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"我可以看到同步的状态是"好" ?
如果我用以下方式检查验证:
bucardo validate sync_name
输出是:
Validating sync sync_name ... OK
但它当然不行!
问题是否与我在主数据库上运行迁移有关? 如何解决此问题,再次进行bucardo同步?
提前致谢!
答案 0 :(得分:1)
你知道吗,有时候,有时它有助于(1)浏览项目提供的文档,以及(2)阅读错误信息,告诉你它到底有什么不满意。
https://bucardo.org/wiki/Bucardo/FAQ#Can_Bucardo_replicate_DDL.3F
答案 1 :(得分:0)
正如@Richard Huxton建议的那样,我可以在Bucardo Documentation.
中找到答案由于DDL是操作数据库模式的方式,我需要寻找的是:
Bucardo可以复制DDL吗?
答案不是。
因此,如果源数据库的架构发生变化,Bucardo将停止同步。
在我的情况下,我使用的是Bucardo,因为我的源数据库在AWS RDS上,因此我无法手动配置Postgres享受他的Streaming Replication