実際、私はpostgresqlによって生成されたSQLファイルからMySQLデータベースを作成する必要があります
pg_dump dbname > myfile.sql
だから、私が好きにしようとすると
mysql> source myfile.sql
これは明らかに機能しません。 70%のテーブルにデータを入力しましたが、それを実現する方法はありますか?
Postgresqlのソースファイルから、MySqlのデータベースを入手してデータを追加できますか。
データと構造をpostgresテーブルから対応するmysqlに移行する場合、最も簡単な方法は、次のようなデータベース変換ツールを使用することです。 ESF Data Migration Toolkit またはオープンソースの対応物 openDBCopy 。
移行ツールを使用したくない、または使用できず、データを移行するだけの場合は、別の簡単な方法として、PostgreSQLからCSV形式でデータをエクスポートしてから、MySQLにインポートすることができます。次のようなコマンド:
ON Postgres(エクスポート):
COPY (SELECT query) TO '/path to csv file -*.csv';
ON Mysql(インポート):
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
ソースデータベースの構造によっては、MysQLが生成されたダンプファイルを理解できるようにダンプファイルを操作する必要がある場合があることに注意してください...
データを失うことなく移行する最良の方法は、Mysql Workbenchの移行を使用することです。これは チュートリアル で移行の方法を説明しています。チュートリアルで言及していない中で、私が重要であるとわかったものは次のとおりです。
注:「PostgreSQL ANSI(x64)」をドライバーとして使用すると、移行中にエラーが発生します。データにUnicode文字が含まれている可能性があります。