私はこれをやろうとしています:
mysql -u root old_db -e "SELECT some_fields FROM huge_table INTO OUTFILE ..." \
| cat header.sql - trailer.sql \
| psql new_db
header.sqlに含まれる場所:
COPY huge_table (some_fields) FROM stdin;
また、trailer.sqlには\.
、ストリームを終了するためのが含まれています。
このパイプが機能するように、MySQLにタブ区切りの値をSTDOUTにダンプさせる方法を私は一生理解できません。パスとして/dev/ stdoutを指定しようとしましたが、権限がないと主張しています。
MySQLからPostgreSQLにできるだけ速くデータを取得するためにこれを実行しようとしています。ディスクに書き込んでPostgreSQLに戻すまでの時間が遅すぎます。
クエリをMySQLにパイプすると、ほとんどTSVが出力されますが、完全ではありません。
これを行う方法はありますか、それとも私は死んだ馬を曇らせていますか?