in reply to Looking to convert all my MySQL DB's to postgresql, any experiences with mysql2pgsql?
I deal with Oracle, PostgreSQL, MySQL, SQLite, and Unify almost daily, and I always convert the data between databases using CSV exports and imports. The huge benefit is that if something is weird or incompatible, you can edit the CSV data and retry. CSV data *is* portable, but make sure the encoding is the same on both ends (preferable UTF-8).
Things to remember when converting schema's are incompatabilities between the different databases, like date formats, dealing with NULL, default BLOB (length) limits, triggers and field defaults.
Things might turn nasty when using database-specific stuff. Issues that are hard to convert are e.g. postgres' bigserial to Oracle. I don't know how modern mysql supports serial and bigserial.
Another thing to try before you die is to test *EVERY* SQL statement you use. Not all ANSI SQL variations are 100% ANSI, nor are their syntaxes exactly the same. A nasty conversion from Oracle/mysql to postgres are substrings in indexes or views. Their syntax is way different:
Oracle/mysql: create index idx_foo_blah on foo (blah (30)); Postgres: create index idx_foo_blah on foo ((substring (blah for +30)));
Oracle does store NULL in varchar and varchar2 type fields when you store the empty string. DBD::mysql always strips spaces from char fields last time I tried. You should be aware of those tiny differences when moving data from one database to another and what tools you use for that. The quotation in all databases differ too much to even start mentioning.
Take extra care with triggers and stored procedures and (nesting) transactions.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Looking to convert all my MySQL DB's to postgresql, any experiences with mysql2pgsql?
by barrd (Canon) on Nov 27, 2013 at 11:34 UTC | |
by Tux (Canon) on Nov 27, 2013 at 11:41 UTC | |
Re^2: Looking to convert all my MySQL DB's to postgresql, any experiences with mysql2pgsql?
by taint (Chaplain) on Nov 27, 2013 at 14:43 UTC | |
by Tux (Canon) on Nov 27, 2013 at 15:32 UTC | |
by taint (Chaplain) on Nov 27, 2013 at 17:29 UTC | |
Re^2: Looking to convert all my MySQL DB's to postgresql, any experiences with mysql2pgsql?
by Anonymous Monk on Nov 27, 2013 at 14:11 UTC |