MySQL to PostgreSQL |
MySQL-to-PostgreSQL is a program to migrate MySQL, MariaDB or Percona databases to PostgreSQL server. The program has high performance due to combination of efficient low-level techniques of reading/writing data and parallel migration algorithm. Command line support allows to script, automate and schedule the conversion process.
Features
|
|
MySQL-to-PostgreSQL uses low-level APIs for reading and writing data: MySQL C API (aka libmysql) and C application programmer's interface to PostgreSQL (aka libpq). Starting from version 6.3 it also applies new parallel migration engine. The main benefit of this technique is capability to set up all parameters automatically depending on hardware platform: volume of single transaction is configured based on available memory and concurrent threads are set up based on number of physical CPU cores. This results performance of database migration is about 500MB per minute on Intel(R) Core(TM) i7-12650H 2.30 GHz system with 32GB RAM.
Once you stored conversion settings into profile you can run the program in Quick Launch mode. Just open Windows Explorer and double-click on the profile description (.s2p) file with left mouse button. This will launch the wizard to migrate MySQL to PostgreSQL loading the necessary conversion settings from the specified profile. Then you will be taken right to the migration progress screen.
The application follows these rules of mapping data types when convert MySQL to PostgreSQL:
MySQL | PostgreSQL |
BINARY(n) | BYTEA |
BLOB | BYTEA |
DATETIME | TIMESTAMP [WITHOUT TIME ZONE] |
FLOAT | REAL |
LONGBLOB | BYTEA |
MEDIUMBLOB | BYTEA |
MEDIUMINT | INTEGER |
TINYBLOB | BYTEA |
TINYINT | SMALLINT |
VARBINARY(n) | BYTEA |
The process of database migration from MySQL to PostgreSQL consists of the following steps:
By default the program uses local connection mode. It is indicated by radio button "Local" selected. To establish remote connection you should select "Remote" radio button. For remote MySQL servers you should also enter host and TCP/IP port to connect through. Host could be either network name or IP address. TCP/IP port value is necessary only if it differs from the default MySQL port number 3306. Otherwise you may leave this field as is.
Finally, you are entering user name and password. You can leave these fields empty for anonymous connection (if MySQL server allows it).
127.0.0.1
. The port value is necessary only if it differs from the default PostgreSQL port number 5432
. Otherwise you may leave this field as is.
Enter user name and password or leave these fields blank for anonymous connection.
By default PostgreSQL server connects to database with name equal to the username specified. If there is no such database or PostgreSQL server does not allows access to it, custom database must be specified on this page.
Click the "Advance..." button to enter SSL settings if it is necessary:
BaltimoreCyberTrustRoot.crt
from the installation folder of the product.~/.postgresql/postgresql.crt
~/.postgresql/postgresql.key
, or it can specify a key obtained from an external engine (engines are OpenSSL loadable modules). An external engine specification should consist of a colon-separated engine name and an engine-specific key identifier.
Existing PostgreSQL script file will be overwritten.
Also, users should select code page for the target PostgreSQL server.
Finally, the path to log file where execution traces will be written can be specified on this wizard page.
To add a table for migration, select it in "Available tables" list and click "Add" button (or double-click the selected item). Use "Add all" button to add all available tables. To remove a table from "Selected tables" list highlight it and click "Remove" button. Use "Remove all" button to remove all items from "Selected tables" list.
Use "Add Query" button for composing SELECT-query to filter data that will be migrated to PostgreSQL. See Using Queries article for the further information.
To edit table or query double click the corresponding item in "Selected tables" list box. If it is a table, dialog box appears to edit table attributes and to define custom type mapping. See Edit Table article for the further information. If selected item is a query, you will see dialog box to edit SQL-statement of the query.
To add MySQL view for converting it into PostgreSQL format, highlight it in "Available queries" list and click "Add" button (or double-click the selected item). Use "Add all" button to add all MySQL views. To remove an item from "Selected queries" list, highlight it and click "Remove" button (or double-click the selected item). Use "Remove all" button to remove all MySQL views from "Selected queries" list.
Sometimes it is important to convert views into PostgreSQL format according to the particular order (for example, to preserve dependencies). Use "up" and "down" buttons in right part of the wizard page to organize all queries in the appropriate order.
Still not sure the program fits your needs to migrate from MySQL to Postgres? Try free demo version with limited features. It will allow you to convert only 50 records for each database table, it does NOT convert views and foreign keys. Test the quality of the demo and come back to place an order if satisfied with the results.
MySQL-to-PostgreSQL is distributed through downloading from Intelligent Converters server only. Select the suitable software package in the table below and click the corresponding BUY NOW link. The product is covered by 30 day money-back guarantee.
MySQL-to-PostgreSQL | $79 | BUY NOW |
MySQL-to-PostgreSQL | $199 | BUY NOW |
MySQL-PostgreSQL Sync bi-directional incremental synchronization | $79 | BUY NOW |
MySQL Migration Toolkit migrate any data source to MySQL and vice versa | $149 | BUY NOW |