Thread: Utility to Convert MySQL to PostgreSQL

Utility to Convert MySQL to PostgreSQL

From
"Michael Avila"
Date:
I've seen messages on the PostgreSQL website referring to a utility that
converts MySQL statements to PostgreSQL statements. I see that it is
convert(). However, there is no other indication on how it used or where it
is located. I looked in the PostgreSQL 8.0 docs and I could not find it. I
looked in the index for convert and found nothing.

I have a MySQL database table that uses auto increment and other
non-PostgreSQL statements so I would love an easy way to convert MySQL to
PostgreSQL statements and use PostgreSQL instead of MySQL in my project.
This project has the potential to be used throughout the US by volunteer
organizations so it is important that the database be $0, easy to use, and
interface with PHP. I am using a PHP add-in ADODB that should make the last
two easy. But I started the development in MySQL.

If anyone has any info about how to convert MySQL to PostgreSQL PLEASE let
me know!

Thanks.

Mike



Attachment

Re: Utility to Convert MySQL to PostgreSQL

From
John DeSoi
Date:
On Jul 24, 2005, at 12:59 PM, Michael Avila wrote:

> If anyone has any info about how to convert MySQL to PostgreSQL
> PLEASE let
> me know!
>

I have not tried it, but there is such a utility here:

http://sqlfairy.sourceforge.net/


John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


Re: Utility to Convert MySQL to PostgreSQL

From
Sean Davis
Date:
On Jul 24, 2005, at 1:16 PM, John DeSoi wrote:

>
> On Jul 24, 2005, at 12:59 PM, Michael Avila wrote:
>
> > If anyone has any info about how to convert MySQL to PostgreSQL 
> > PLEASE let
> > me know!
> >
>
> I have not tried it, but there is such a utility here:
>
> http://sqlfairy.sourceforge.net/

I have tried it, and it does about 99% of the job.  There are a few
things that are MySQL version-dependent (added in later mysql versions)
that sqlfairy doesn't deal with appropriately, but those can usually be
dealt with by a simple find/replace in the word processor or a
perl/awk/sed script.  If you are a perl user, sqlfairy is also called
SQL::Translator on cpan.

As an alternative, look in the postgresql distribution in
/contrib/mysql.  There are two scripts for doing the conversion there.

Hope this helps.
Sean


Re: Utility to Convert MySQL to PostgreSQL

From
"Michael Avila"
Date:
I have C:\Program Files\PostgreSQL\8.0\doc\contrib and C:\Program
Files\PostgreSQL\8.0\share\contrib but no folder mysql in either of them nor
a file with the name mysql in it.

Mike

-----Original Message-----
From: Sean Davis [mailto:sdavis2@mail.nih.gov]
Sent: Sunday, July 24, 2005 1:26 PM
To: Michael Avila
Cc: Pgsql-Novice
Subject: Re: [NOVICE] Utility to Convert MySQL to PostgreSQL



On Jul 24, 2005, at 1:16 PM, John DeSoi wrote:

>
> On Jul 24, 2005, at 12:59 PM, Michael Avila wrote:
>
> > If anyone has any info about how to convert MySQL to PostgreSQL 
> > PLEASE let
> > me know!
> >
>
> I have not tried it, but there is such a utility here:
>
> http://sqlfairy.sourceforge.net/

I have tried it, and it does about 99% of the job.  There are a few
things that are MySQL version-dependent (added in later mysql versions)
that sqlfairy doesn't deal with appropriately, but those can usually be
dealt with by a simple find/replace in the word processor or a
perl/awk/sed script.  If you are a perl user, sqlfairy is also called
SQL::Translator on cpan.

As an alternative, look in the postgresql distribution in
/contrib/mysql.  There are two scripts for doing the conversion there.

Hope this helps.
Sean


Re: Utility to Convert MySQL to PostgreSQL

From
"Sean Davis"
Date:
----- Original Message -----
From: "Michael Avila" <mavila@mich.com>
To: "Pgsql-Novice" <pgsql-novice@postgresql.org>; "Sean Davis"
<sdavis2@mail.nih.gov>
Sent: Sunday, July 24, 2005 8:58 PM
Subject: RE: [NOVICE] Utility to Convert MySQL to PostgreSQL


>I have C:\Program Files\PostgreSQL\8.0\doc\contrib and C:\Program
> Files\PostgreSQL\8.0\share\contrib but no folder mysql in either of them
> nor
> a file with the name mysql in it.

Ah, Windows.  The scripts are in the source distribution in the
contrib/mysql directory, which may not be kept on Windows.  I'm not sure
where (if anywhere) those end up in Windows.  You can always just download
the source distro and get them from there.  Again, the other alternative is
to use SQL::Translator, but I'm not sure about ActiveState availability....

Sean