Skip to content

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.

MySQL-specific options to decide deliberately

Section titled “MySQL-specific options to decide deliberately”
  • enum_mode
  • set_mode
  • tinyint1_as_boolean
  • binary16_as_uuid
  • string_uuid_as_uuid
  • widen_unsigned_integers
  • add_unsigned_checks
  • ci_as_citext
  • [postgis]
  • 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_tx is available when you need one consistent snapshot on a live source
  • zero dates need explicit handling through zero_date_mode