我需要对从 Mysql 到 PostgreSql 的潜在迁移进行一些测试。测试是否可以使用 Postgre 作为我的 MySQL 主服务器的从属设备会更容易。
可能吗 ?
提前致谢
我需要对从 Mysql 到 PostgreSql 的潜在迁移进行一些测试。测试是否可以使用 Postgre 作为我的 MySQL 主服务器的从属设备会更容易。
可能吗 ?
提前致谢
不。
您可以使用触发器和外部进程发送数据自己构建一些东西,但这相当困难,因为 mysql 对触发器的支持相当有限。
对于您的方案,您最好定期转储数据。最好的方法通常是手动迁移架构,然后以 CSV 格式发送数据。“mysqldump --compatible”通常不能很好地工作。
有可能的。有点。也许。
据称支持 MySQL -> PostgreSQL 迁移的一种解决方案是 Continuent 的开源Tungsten Replicator。
您可以在此处查看有关如何实现此“异构复制”的一些说明(尽管他们建议的使用 tungsten-installer 的方法已被弃用,您最好像这样使用 tpm )。
问题是,虽然有大量 资源表明 Tungsten 确实用于支持这一点,但官方似乎不再这样做了。这意味着如果您尝试使用最新的 Tungsten Replicator 版本 (3.*),您会很快发现缺少 Postgres 所需的一些文件。
另一方面,如果您尝试下载较旧的版本,例如 2.2.1,则不会出现这些错误,并且所有文件似乎都存在,这留下了乐观的空间。
就个人而言,我必须承认我也无法让 2.2.1 工作,但这可能更多地与我缺乏使用 Tungsten Replicator 的经验有关,而不是与 Postgres 支持有关。此外,在我的情况下,实时元素并不那么重要,所以我们最终选择了一个运行pgloader的 cron 作业。
因此,如果您必须具备从 MySQL 到 Postgres 的实时复制功能,我建议您至少在开始实施自己的解决方案之前尝试 Tungsten Replicator。但是,如果实时不是绝对要求,则可能有更简单的方法。
(另外,你可能想看看声称做类似事情的SymmetricDS ,尽管我没有亲自研究过。)
我不这么认为,主从复制只能在同一个数据库之间进行。
您可以使用PostgreSQL-SQL 模式配置 MySQL ,也可以使用 mysqldump 中的--compatible来准备转储以导入 Postgresql 。
SymmetricDS 确实支持 MySQL 到 Postgres 的复制。有可用的开源版本以及提供基于 Web 界面的专业版本。