28

実際、postgresqlによって生成されたSQLファイルからMySQLデータベースにデータを入力する必要があります。

pg_dump dbname > myfile.sql

だから、私が好きになろうとすると

mysql> source myfile.sql

これは明らかに機能しません。70%のテーブルにデータを入力しましたが、それを実現する方法はありますか?

postgresqlのソースファイルから、MySqlのデータベースをソースしてデータを入力できますか?

4

2 に答える 2

30

データと構造を postgres テーブルから同等の mysql に移行する場合、最も簡単な方法は、ESF Data Migration Toolkitやオープンソース版のopenDBCopyなどのデータベース変換ツールを使用することです。

移行ツールを使用したくない、または使用できず、データのみを移行する必要がある場合は、別の簡単な方法として、PostgreSQL から CSV 形式でデータをエクスポートし、それを MySQL にインポートすることができます。次のようなコマンド:

Postgres (エクスポート) の場合:

COPY (SELECT query) TO '/path to csv file -*.csv'; 

オン 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 が生成されたダンプ ファイルを理解できるように、ダンプ ファイルを操作する必要がある場合があることに注意してください。

于 2012-05-05T13:06:26.930 に答える