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.
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:
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
Fig. 1: MySQL data source configuration
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
Fig. 2: PostgreSQL destination configuration
In "Select Source Table(s) & View(s)" Dialog
Select migration objects: Choose tables or views to include in the migration. Fig. 3: Select tables and views
Modify table structure: Click the ellipsis (...) button to access table options and schema adjustments. 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
Execution Dialog
Start migration: Click "Submit" to initiate automated data transfer from MySQL to PostgreSQL.
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)
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.