|
1
50
我自己也经历过,我还是…
|
|
|
2
9
这将是一项艰巨的任务,因为您必须测试整个代码库——任何地方的每个查询
在操作上,您需要查看:
在考虑采取这种行动之前,您肯定需要进行大量的性能测试。 这些成本使得迁移到不同的数据库对于大多数不平凡的应用程序来说过于昂贵。考虑到好处 非常 小心地对付做上述所有事情的巨大、巨大的成本。 如果在一个非常重要的应用程序中花费您不到三个月的时间,在这段时间内您将无法继续正常的开发,我会感到惊讶。 |
|
|
3
8
你可以试试 PostgreSQL gotchas 其中包含最常见的问题。一般来说,PostgreSQL文档也很好,所以也要把它放在枕头下面。 也, Converting from MySQL to PostgreSQL 在pgsql wiki上。 |
|
|
4
6
我找到了这个脚本,它将连接到您的MySQL数据库和PostgreSQL数据库,并且只传输内容。这对我来说很有吸引力。 https://github.com/philipsoutham/py-mysql2pgsql 由安装
跑
在任何文件夹中,它都会为您创建一个模板设置文件(mysql2pgsql.yml),您可以在其中编辑和输入数据库的详细信息。 我必须安装argparse才能工作。
填写数据库详细信息后,只需再次运行即可。
在与设置文件相同的文件夹中,完成了操作。它没有把任何东西打印到屏幕上,但后来我的数据库被完全复制了。 |
|
|
5
5
在转换之前,通过以下方式启动服务器,将mysql设置为ansi-stricteness:--事务隔离=可序列化--SQL模式=ansi 确保您没有使用myisam表。 MySQL允许很多转换,但不应该;PG需要一个强制转换。 必须重新写入存储的过程、函数和触发器。PG为您提供了这些语言的选择,但是您必须安装这些语言;它不像MySQL那样用户友好。 pg只允许在选择列表列中使用group by或聚合;如果这样做,mysql将通过选择组中的第一个值来作弊。
MySQL添加了一系列扩展:不相等的运算符可以是
基本上,pg是相当严格的ansi,而mysql不是。我强烈建议在转换为pg之前尽可能严格地遵循ansi,然后在运行应用程序时检查是否有任何警告。 |
|
|
6
1
除了移动数据库结构之外,您不能避免手动调整… 最可靠的方法 传输数据 (如果结构相同,则逐表列出):
最近一直在尝试其他的方法(比如mysqldump中有大量的选项+sed等),但是没有什么比这更好的方法了。 这种方法还允许在改变结构时有一定的灵活性—只需编写一个适当的选择。 |