Q:

How to convert a MySQL database to PostgreSQL?

Is there any command line tool for converting the MySQL database to PostgreSQL? I'd also like to know if there is a way to convert the database using the normal mysqldump command.

A:

have you tried:
mysqldump --compatible=postgresql dbname > export.sql

then do this to escape quotes
sed "s/\\\'/\'\'/g" export.sql > export1.sql

may need some more massaging so look at mysqldump doco more closely. 

A:

Here are a few open source tools, that can be very helpful:
FromMySqlToPostgreSql
is a feature-reach tool and very easy to use. 
It maps data-types, migrates constraints, indexes, PKs and FKs exactly as they were in your MySQL db. 
Under the hood it uses PostgreSQL COPY, so data transfer is very fast.
FromMySqlToPostgreSql written in PHP (>= 5.4).

pgloader   is a data loading tool for PostgreSQL, using the COPY command.
Its main advantage over just using COPY or \copy, 
and over using a Foreign Data Wrapper, is its transaction behaviour, where pgloader will keep a separate file of rejected data, but continue trying to copy good data in your database.
The default PostgreSQL behaviour is transactional, which means that any erroneous line in the input data (file or remote database) will stop the entire bulk load for the table.
pgloader also implements data reformatting, a typical example of that being the transformation of MySQL datestamps 0000-00-00 and 0000-00-00 00:00:00 to PostgreSQL NULL value (because our calendar never had a year zero).
pgloader written in LISP and distributed as source code, so you you need to compile it before using.

Hope it will help you... 

A:

There is actually a free migration tool that's quite easy to use, developed by EnterpriseDB themselves. It can be installed via the StackBuilder:
Migration Toolkit

