mysqlからpostgresqlへ移行する方法2選
pgloaderを使用する方法とmysql_fdwを使用する方法がある。
pgloader
$ pgloder my.load
my.loadは設定ファイル。例は下記URL参照。
データベースを丸ごと移行する。
上記URLのmy.loadの修正点として、mysqlのindexは含めずに移行するために create no indexes にする方がよいということ。postgresqlに移行する際に、postgresqlでは不適切なmysqlのindexが付いたままになってしまう。postgresqlに移行してから改めてindexを作成しなおすのが良い。
※時間ができたら、mysqlのindexがついたままの移行したDBとmysqlのindexは移行せず、postgresql側でindexを再作成したDBを用意し、実行時間を比較する。
mysql_fdw
上記手順に従って外部テーブルを作成する。その後、同じスキーマの内部テーブルを作成し、外部テーブルのレコードを内部テーブルにinsertする。
利点として、外部テーブルをselectして内部テーブルにinsertできるため、データの一部だけを移行するという用途にも使用できるという点が挙げられる。