質問: MySQLに格納されているデータをPostgresqlに移行しなくてはいけなく、 MySQLのdumpデータを出力し、移行作業をすすめております。 単純に出力したdumpデータでは上手く行かず、下記のような記事を参照し、 スクリプトを作成しました。 https://hacknote.jp/archives/16100/ ``` mysqldump -uroot sample_db --compatible=postgresql -t -c --skip-quote-names --skip-extended-insert --skip-add-locks --default-character-set=utf8 | sed "s/\\\'/\'\'/g" > dump.sql ``` こちらで以前よりかは、エラーが少なくなったものの、依然として下記エラーに対応できずに困っております。 ``` HINT: You will need to rewrite or cast the expression. ERROR: column "hoge" is of type boolean but expression is of type integer ``` エラー内容は明白で、boolean型のものをintegerで格納されているためのエラーではあります。 ただ下記のような問題があり、解決方法を探しております。 ・データ量も多いため修正箇所をすべて手動で変更するのは困難 ・integerの値のため、単純に置換すれば良いという話でもない(他のintegerの値も置換しかねない) dumpデータ出力時に上手いこと処理できないかと考えておりますが、 お知恵をお借りできますと幸いです。 宜しくお願い致します。
回答: 移行という一過性の処理なら、postgresにintegerで取り込んでから型変換するというのも検討されてみては。