MySQL To PostgreSQL
MySQL is still the richest pgferry source because it includes enums, sets, unsigned types, generated columns, optional PostGIS migration, and collation handling. If your source is MariaDB, use the dedicated MariaDB guide rather than assuming every MySQL-specific feature applies unchanged.
Start here
Section titled “Start here”- minimal-safe example for the first real rehearsal
- chunked-resume example when restart cost matters
- hooks example if
planreports manual follow-up work
MySQL-specific options to decide deliberately
Section titled “MySQL-specific options to decide deliberately”enum_modeset_modetinyint1_as_booleanbinary16_as_uuidstring_uuid_as_uuidwiden_unsigned_integersadd_unsigned_checksci_as_citext[postgis]
Common caveats
Section titled “Common caveats”- generated columns are copied as values, not recreated as expressions
- unsupported indexes such as
FULLTEXT, prefix indexes, and expression indexes are reported and skipped single_txis available when you need one consistent snapshot on a live source- zero dates need explicit handling through
zero_date_mode