Chunked-resume
When to use it
Section titled “When to use it”- large numeric-PK tables dominate runtime
- you want checkpoints and restart safety
- row-count validation matters
migration.toml
Section titled “migration.toml”schema = "app"on_schema_exists = "error"unlogged_tables = falseworkers = 8chunk_size = 100000resume = truevalidation = "row_count"
[source]type = "mysql"dsn = "root:root@tcp(127.0.0.1:3306)/source_db"
[target]dsn = "postgres://postgres:postgres@127.0.0.1:5432/target_db?sslmode=disable"Run it
Section titled “Run it”pgferry plan migration.tomlpgferry migrate migration.tomlWhy unlogged_tables is off
Section titled “Why unlogged_tables is off”Resume only makes sense when the target data survives crashes, so this pattern keeps tables logged on purpose.
Raw files: migration.toml