pgloader 來將 MySQL 資料轉移到 PostgreSQL 實在蠻方便的。
手上的 side project 轉移資料時,居然會遇到 broken pipe 的錯誤,調整 DB server 以後,問題還是持續發生。最後使用 --debug 看訊息,才發現是連線中斷。
後來是透過官方文件中的 --with` 加上 prefetch rows 來避免大量資料導致錯誤發生,調整以後指令大致如下:
pgloader --with 'prefetch rows=1000' --debug \
mysql://user:passwd@127.0.0.1:3306/db_name \
pgsql://user:passwd@127.0.0.1:5432/db_name