Nik*_*rma 20 mysql database postgresql pg-dump
实际上我需要从postgresql生成的SQL文件中填充MySQL数据库
pg_dump dbname > myfile.sql
Run Code Online (Sandbox Code Playgroud)
所以,如果我尝试做的话
mysql> source myfile.sql
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.虽然它确实填充了70%的表,但我想知道有没有办法实现它?
从postgresql的源文件中,我可以获取并填充我的MySql数据库.
ale*_*oot 22
如果要将数据和结构从postgres表迁移到mysql等效,最简单的方法是使用数据库转换工具,如:ESF Data Migration Toolkit或opensource对应的openDBCopy.
如果您不想要或者您不能使用迁移工具,并且您只需要迁移数据,另一种简单的方法可能是从PostgreSQL以CSV格式导出数据然后在MySQL中导入它,所以你可以用一些命令如下:
ON Postgres(出口):
COPY (SELECT query) TO '/path to csv file -*.csv';
Run Code Online (Sandbox Code Playgroud)
ON Mysql(导入):
load data infile 'path to csv file-*.csv' into table tablename fields terminated by ',' lines terminated by '\n' .
Run Code Online (Sandbox Code Playgroud)
如果您仍然想要继续使用转储工具(pg_dump),您可以添加此选项以生成MySQL可以更好地理解的转储文件:
-d --data-only --no-owner --no-acl --attribute-inserts --disable-dollar-quoting --no-tablespaces
Run Code Online (Sandbox Code Playgroud)
请记住,根据源数据库的结构,您可能必须操作转储文件以允许MysQL了解生成的转储文件...