Migrating data from MySQL to PostgreSQL

This guide walks you through migrating data from MySQL to PostgreSQL in a few simple steps using ESF Database Migration Toolkit. Simplify complex migration tasks and save valuable time with our streamlined approach.

MySQL vs. PostgreSQL:

  • MySQL is an open-source relational database management system (RDBMS) that provides a powerful and scalable platform for managing and storing data. Developed by Oracle Corporation, MySQL is widely used in web applications and is known for its reliability, flexibility, and ease of use. It supports various storage engines, including InnoDB for transactional processing and MyISAM for read-intensive applications, offering developers the flexibility to choose the engine that best suits their needs. With features like ACID compliance, replication support, and a thriving community of developers, MySQL is a popular choice for businesses of all sizes looking to build robust and efficient database-driven applications.
  • PostgreSQL is a powerful, open-source relational database management system known for its reliability, robust feature set, and extensibility. It offers support for a wide range of data types, indexing techniques, and advanced features such as full-text search, JSON support, and geospatial data processing. With a strong emphasis on standards compliance and ACID compliance, PostgreSQL is widely used across various industries for handling complex data management tasks, from small-scale projects to large-scale enterprise applications. Its active community, frequent updates, and ecosystem of extensions contribute to its popularity and ongoing development.

Prerequisite:

  • Software Required:

    64-bit Windows application for ESF Database Migration Toolkit 12.2.09 (2025-07-17).
    (md5: af00d640b9e71618ed20932c52f4688d)
    32-bit Windows application for ESF Database Migration Toolkit 12.2.09 (2025-07-17).
    (md5: 1b7566ee53ff21b6dc8444741b9da73a)
  • System Supported:

    • Windows 7 or higher.
    • MySQL 3.23 or higher.
    • PostgreSQL 7.x or higher.

Step by Step Wizard:

  1. Configure MySQL Data Source

    • In the "Choose a Data Source" dialog:
      • Select "MySQL"
    • Enter server details:
      • Server name: localhost (default)
      • Port: 3306 (default)
    • Provide authentication:
      • Username: root (default)
      • Associated password
    • Database selection:
      • Click the Refresh button to list available databases
      • Select target database from the list
    MySQL connection dialog showing server configuration, authentication fields, and refresh button
    Fig. 1: MySQL data source configuration
  2. Configure PostgreSQL Destination

    • In the "Choose a Destination" dialog:
      • Select "PostgreSQL"
    • Enter server connection details:
      • Server name: localhost (default)
      • Port: 5432 (default)
    • Provide authentication credentials:
      • Username: postgres (default)
      • Associated password
    • Configure character encoding:
      • Select database character set (default: UTF8)
      • Required for non-ASCII characters (e.g., German, French, Japanese)
    • Database selection/creation:
      • Select existing database or enter new database name
      • Click the Refresh button to list available databases
      • New databases are automatically created during migration
    • Schema configuration:
      • Enter or select target schema name (default: public)
      • Click the Refresh Schema button to list available schemas
    "Choose a Destination" dialog showing PostgreSQL configuration options including server settings, character set selection, and schema controls
    Fig. 2: PostgreSQL destination configuration
  3. In "Select Source Table(s) & View(s)" Dialog

    • Select migration objects: Choose tables or views to include in the migration.
      Select Tables & Views
      Fig. 3: Select tables and views
    • Modify table structure: Click the ellipsis (...) button to access table options and schema adjustments.
      Transform
      Fig. 4: Do transform
    • Configure field mapping: In the Field Mapping options:
      • Customize destination fields (name, data type, default value, comments)
      • Select data transfer method:
        • Overwrite Table (replace existing data)
        • Empty Data (truncate before insert)
        • Append Data (add to existing data)
        • Skip Table (exclude from transfer)
      • Apply data filters before transfer
  4. Execution Dialog

    • Start migration: Click "Submit" to initiate automated data transfer from MySQL to PostgreSQL.
      Execute
      Fig. 5: Execute migration
    • Monitor progress: Click "Browse Log" for real-time migration tracking, including issue resolution details.
    • Save configuration: Click "Save as job" to store settings for:
      • Quick reloads of migration jobs
      • Command-line execution (use: dmtc.exe --help for parameter options)
  5. Finished!

    After migration completes, the toolkit generates a comprehensive report for verifying migration accuracy. You can monitor progress as the automated process runs efficiently. For any questions or feedback, contact us – our team is ready to assist.

Download Now »

Related Links:

1. PostgreSQL to MySQL Migration
1. MySQL to DB2 Migration
2. MySQL to MS Access Migration
3. MySQL to MS Excel Migration
4. MySQL to MariaDB Migration
5. MySQL to Oracle Migration
6. MySQL to SQL Azure Migration
7. MySQL to SQL Server Migration
 
1. DB2 to PostgreSQL Migration
2. FireBird to PostgreSQL Migration
3. Foxpro to PostgreSQL Migration
4. Informix to PostgreSQL Migration
5. InterSystems Cache to PostgreSQL Migration
6. MS Access to PostgreSQL Migration
7. MS Excel to PostgreSQL Migration
8. MariaDB to PostgreSQL Migration
9. Oracle to PostgreSQL Migration
10. SQL Azure to PostgreSQL Migration
11. SQL Server to PostgreSQL Migration
12. SQLite to PostgreSQL Migration