2017-09-19 5 views
0

私はmysqlからpostgresqlにデータベースを移行したいと思います。だから、最初のsqlファイルをpostgresqlに変換してインポートします

mysqldump -u root -p --compatible=postgresql --default-character-set=utf8 databasename > output.sql 

が、私はホストとコマンド

psql -U root -d databasename -f /home/test/output.sql 

の下に使用してSQLファイルをインポートするoutput.sqlをアップロードし、このコマンドを使用してmysqldumpをしましたが、私は

をインポートしようとすると、私はエラーを得ました
ERROR: syntax error at or near "KEY" 
ERROR: syntax error at or near "UNLOCK" 
ERROR: syntax error at or near "("  
invalid command \n   
invalid command \'></script>  
invalid command \";s:2:   
invalid command \',   
invalid command \']  
Query buffer reset (cleared). 

私がダンプしたデータベースのサイズは7.5GBです。

答えて

3

MySQLで使用されるSQLとPostgresで使用されるSQLは、1対1の相互互換性がありません。あなたは何のためにも簡単なコンバータプログラムが必要です。このオプションは、他のサーバーとの互換性を保証するものではありません

--compatibleのドキュメントから

つまり、少しだけより互換性があります。

Navicatのような市販の製品があります。これは、自動的にこれを行うのに役立ちます。あるいは、XMLデータ、JSON、CSVなどの中立的なフォーマットですべてのMySQLデータをダンプして、別のツールを使用して読み戻すことができます。

関連する問題