实际上,我需要从PostgreSQL生成的SQL文件填充MySQL数据库,如下所示
pg_dump dbname > myfile.sql
所以,如果我试着go 做
mysql> source myfile.sql
这显然是行不通的.虽然它确实填充了70%的表,但我想知道有什么方法可以实现它吗?
我可以从PostgreSQL的源文件中源化并填充我的MySQL数据库吗?
实际上,我需要从PostgreSQL生成的SQL文件填充MySQL数据库,如下所示
pg_dump dbname > myfile.sql
所以,如果我试着go 做
mysql> source myfile.sql
这显然是行不通的.虽然它确实填充了70%的表,但我想知道有什么方法可以实现它吗?
我可以从PostgreSQL的源文件中源化并填充我的MySQL数据库吗?
如果想将数据和 struct 从postgres表迁移到mysql等效表,最简单的方法是使用数据库转换工具,如:ESF Data Migration Toolkit或开源对应的openDBCopy.
如果您不想或不能使用迁移工具,只需要迁移数据,另一种简单的方法是从PostgreSQL导出CSV格式的数据,然后导入到MySQL中,这样您可以使用一些命令,如:
ON Postgres (Export):
COPY (SELECT query) TO '/path to csv file -*.csv';
ON Mysql (Import):
load data infile 'path to csv file-*.csv' into table tablename fields terminated by ',' lines terminated by '\n' .
如果您想继续使用转储工具(Pg_Dump),可以添加以下选项以生成MySQL可以更好理解的转储文件:
-d --data-only --no-owner --no-acl --attribute-inserts --disable-dollar-quoting --no-tablespaces
请记住,根据源数据库的 struct ,您可能必须操作转储文件以允许MySQL理解生成的转储文件.