我想在它变得更大之前将现有的 MySQL 数据库(大约 40 个表,400mb 数据)迁移到 Postgres。我在网上搜索并尝试了一些迁移脚本(其中一些可以在这里找到)。它们都不能无缝地工作——如果只是我必须手动修复的一些小故障,那不会是问题,但由此产生的转储看起来根本不像有效的 PostgreSQL。
有没有人在不使用完整工作日的情况下成功迁移生产表 - 有没有简单的解决方案来解决这个问题?
注意:我也会考虑商业产品(只要定价仍然可行)。
我想在它变得更大之前将现有的 MySQL 数据库(大约 40 个表,400mb 数据)迁移到 Postgres。我在网上搜索并尝试了一些迁移脚本(其中一些可以在这里找到)。它们都不能无缝地工作——如果只是我必须手动修复的一些小故障,那不会是问题,但由此产生的转储看起来根本不像有效的 PostgreSQL。
有没有人在不使用完整工作日的情况下成功迁移生产表 - 有没有简单的解决方案来解决这个问题?
注意:我也会考虑商业产品(只要定价仍然可行)。
尽管 SQL 是一种标准,但如果没有每个服务器软件都实现扩展,它的功能还不够完整。从 MySQL 到 PostgreSQL 的转换并不简单,除非你的模式是微不足道的。自动翻译脚本只会让你到目前为止。
最好的方法是手动转换模式,然后为数据本身编写自己的传输脚本。您还应该编写验证脚本以确保架构和数据正确传递。
这不是一个逃避的答案。如果您的数据库足够重要,可以迁移,那么花一些时间在自己身上就足够重要了。最后,与自动迁移脚本所导致的问题相比,您花费的时间至少与自己迁移数据所花费的时间一样多。但是自己动手,你就有机会利用 PostgreSQL 中不存在于 MySQL 中的特性,也有机会做出那些只有第二次做某事才能获得的改进。
咬紧牙关去做。