mysql to Pgsql

Started by Martín Marquésalmost 25 years ago5 messagesgeneral
Jump to latest
#1Martín Marqués
martin@bugs.unl.edu.ar

I think I heard about a script that would convert mysql dump files to Pgsql
dumps. Can someone remind me where they are?

Saludos... :-)

--
El mejor sistema operativo es aquel que te da de comer.
Cuida tu dieta.
-----------------------------------------------------------------
Martin Marques | mmarques@unl.edu.ar
Programador, Administrador | Centro de Telematica
Universidad Nacional
del Litoral
-----------------------------------------------------------------

#2Bruce Momjian
bruce@momjian.us
In reply to: Martín Marqués (#1)
Re: mysql to Pgsql

[ Charset ISO-8859-1 unsupported, converting... ]

I think I heard about a script that would convert mysql dump files to Pgsql
dumps. Can someone remind me where they are?

Saludos... :-)

In 7.1 /contrib.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#3Joel Burton
jburton@scw.org
In reply to: Bruce Momjian (#2)
Re: mysql to Pgsql

On Thu, 3 May 2001, Bruce Momjian wrote:

[ Charset ISO-8859-1 unsupported, converting... ]

I think I heard about a script that would convert mysql dump files to Pgsql
dumps. Can someone remind me where they are?

Saludos... :-)

In 7.1 /contrib.

And more info about it at techdocs.postgresql.org.

--
Joel Burton <jburton@scw.org>
Director of Information Systems, Support Center of Washington

#4Vivek Khera
khera@kcilink.com
In reply to: Bruce Momjian (#2)
Re: mysql to Pgsql

"BM" == Bruce Momjian <pgman@candle.pha.pa.us> writes:

BM> [ Charset ISO-8859-1 unsupported, converting... ]

I think I heard about a script that would convert mysql dump files to Pgsql
dumps. Can someone remind me where they are?

BM> In 7.1 /contrib.

I started with trying several scripts. All of them leave some mysql
turds lying around after their "translation". I ended up doing it
manually, and took some notes. Here's what I did:

--cut here--
change # comments to -- comments

change "int(10)" to "integer"

change "integer unsigned NOT NULL auto_increment" fields to type
"SERIAL PRIMARY KEY"

change "integer unsigned" to "integer check(colname >= 0)"

change "mediumtext" => "text"

remove "Type = XXX" table option at end of create statements.

change "timestamp(14)" => "timestamp default 'NOW()'" .. probably need
trigger to update this kind of timestamp on every update as well.

change "datetime" => "timestamp"

move "KEY" indexes after column create with CREATE INDEX

change "enum" fields to "varchar(X) check (fn in ('...','...'))"

change "set" fields to some type of text field, and make app convert
to/from comma separated string of values.

change "tinyint(N)" to "smallint"

change "UNIQUE KEY name" to "UNIQUE"

delete "binary" attributes to char fields.

delete any "default NULL" as they are redundant.

"text NOT NULL" needs to have "default ''" for same behavior as in mysql.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera@kciLink.com Rockville, MD +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/

#5Bruce Momjian
bruce@momjian.us
In reply to: Vivek Khera (#4)
Re: Re: mysql to Pgsql

We really need those changes merged into the scripts for the next guy.
Ideally, I would like the two /contrib scripts merged to make a better one.

"BM" == Bruce Momjian <pgman@candle.pha.pa.us> writes:

BM> [ Charset ISO-8859-1 unsupported, converting... ]

I think I heard about a script that would convert mysql dump files to Pgsql
dumps. Can someone remind me where they are?

BM> In 7.1 /contrib.

I started with trying several scripts. All of them leave some mysql
turds lying around after their "translation". I ended up doing it
manually, and took some notes. Here's what I did:

--cut here--
change # comments to -- comments

change "int(10)" to "integer"

change "integer unsigned NOT NULL auto_increment" fields to type
"SERIAL PRIMARY KEY"

change "integer unsigned" to "integer check(colname >= 0)"

change "mediumtext" => "text"

remove "Type = XXX" table option at end of create statements.

change "timestamp(14)" => "timestamp default 'NOW()'" .. probably need
trigger to update this kind of timestamp on every update as well.

change "datetime" => "timestamp"

move "KEY" indexes after column create with CREATE INDEX

change "enum" fields to "varchar(X) check (fn in ('...','...'))"

change "set" fields to some type of text field, and make app convert
to/from comma separated string of values.

change "tinyint(N)" to "smallint"

change "UNIQUE KEY name" to "UNIQUE"

delete "binary" attributes to char fields.

delete any "default NULL" as they are redundant.

"text NOT NULL" needs to have "default ''" for same behavior as in mysql.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera@kciLink.com Rockville, MD +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026