そーだいなるらくがき帳

そーだいが自由気侭に更新します。

MySQLからPostgreSQLに移行する際のTips

 このエントリーは Classi developers Advent Calendar 2022の18日目。 ネタはなんでもいいよ!とのことなので、Claasiに全く関係なく、MysqlからPostgreSQLに移行する際の注意点を書く。 なお、まだRDSにPostgreSQLがなかった頃のような昔の記事だがこちらに無いことを書いていく。

soudai1025.blogspot.com

soudai1025.blogspot.com

MySQL から PostgreSQLにデータ移行する際の注意点

 MySQLPostgreSQLは互換性がもちろんありませんので、細かいところで違いが発生します。 よく踏むデータ移行の注意点は以下の通り。

 ざっと思いつくままに書いたが、あなたがORMからしMySQLを触っておらず、INDEXの利用について深く考える必要が無いほどの規模であれば、移行はそんなに難しくはないだろう。 しかしそれなりの規模になっているのであれば、多少は覚悟して移行する必要がある。

それでも移行をしたい人へ

 どうしても移行がしたい。そんなあなたのためにMySQLのテーブルをPostgreSQLのテーブルのように扱えるFDWとしてmysql_fdwがある。

github.com  ubuntuなら apt install postgresql-15-mysql-fdw でインストールできるし、AWSをお使いの人は最初からRDSに拡張としてmysql_fdwは用意されているので、CREATE EXTENSION して有効化するだけで使うことができる。

 もし、fdwを使いたいなら下の記事に詳しい仕組みが書いてあるので参考にすると良い。 またpushdownはmysql_fdwのバージョンによって違いが大きいので使うバージョンをよく確認すること。 上記のEDBのリポジトのREADMEに書いてあるので必ず読むこと。

lets.postgresql.jp

まとめ

 このへんで挫折した人は移行はやめておいたほうが無難。 そんな無理してまで移行するほどの価値をつけることは難しいだろう。

 しかし、マルチテナントの設計のためにPostgreSQLを使いたい人などは目指すなりの価値があるとは思う。

soudai.hatenablog.com

引き続き、Classiアドベントカレンダーをお楽しみください。

adventar.org

あとPostgreSQLアドベントカレンダーMySQLアドベントカレンダーもあるよ。

qiita.com

qiita.com