pgloader vs DBConvert

Two ways to migrate from MySQL to PostgreSQL - pgloader's COPY-based loader and DBConvert's GUI workflow. Where each one fits.

The naive path doesn't work

On paper, moving data from MySQL to PostgreSQL looks like three commands:

$ mysqldump --compatible=postgresql > data.sql
$ some_script.sh data.sql data.psql
$ psql -f data.psql
MySQL 8+

--compatible=postgresql is no longer supported. See MySQL 8 docs.

MySQL 5.7 even

Output was never a drop-in PostgreSQL dump. The community scripts that bridged the gap are now unmaintained.

Verdict: dead end. Use a real tool.

Two tools that actually work

pgloader

pgloader

Open source · CLI

Imports data from MySQL into PostgreSQL using the COPY command. Brings indexes and foreign keys along; handles type conversion.

Where it fits

  • Sources: SQLite, MySQL, CSV → PostgreSQL
  • Free, PostgreSQL License
  • Cross-platform, Docker image available
  • One-way only - can't sync back

Best for: Linux/terminal users running one-shot loads into PostgreSQL, especially from CI pipelines.

DBConvert

DBConvert

Commercial · GUI + CLI

DBConvert & DBSync for MySQL and PostgreSQL covers the same ground plus reverse direction, ongoing sync, and a GUI workflow.

Where it fits

  • Both directions. Plus MariaDB, Percona, Heroku, AWS RDS / Aurora, Google Cloud SQL, Azure
  • GUI workflow. No scripts. Source → target → customize → run
  • Tree view. Rename objects, override types before the run starts
  • Sync after migration. Insert / Update / Drop sync
  • Bidirectional. Both databases stay in step

Best for: Cross-platform migrations needing either direction, GUI for non-DBAs, or ongoing sync.

DBConvert Streams

Need log-based, real-time CDC instead?

DBConvert Streams is a separate product for continuous, log-based change data capture between MySQL and PostgreSQL. pgloader is one-way and one-shot; DBConvert / DBSync above do scheduled and trigger-based sync; Streams covers real-time replication.

See Streams

Which one should you pick?

pgloader for one-way Linux loads into PostgreSQL, especially in CI pipelines. DBConvert for cross-platform migrations that need either direction, a UI for non-DBAs, or ongoing synchronization after the initial cutover.