Re: Ingres to Postgres migration

From: Michael Bostock <bostock83(at)gmail(dot)com>
To: Andy Colson <andy(at)squeakycode(dot)net>
Cc: Jeff Johnston <jeff(dot)johnston(dot)mn(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Ingres to Postgres migration
Date: 2014-04-30 14:18:58
Message-ID: CAF-cc2HbuC=SOgt0TPPsY4EKUbD2hDeJL6_Yj0J26ZbYN4rvow@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Wow, thanks for the swift response and a lot of detailed advice! I will
look further into what you have suggested and see what bits I can take
forward with our migration.

Thanks a lot,
Mike

On 30 April 2014 15:14, Andy Colson <andy(at)squeakycode(dot)net> wrote:

> On 4/30/2014 8:34 AM, Jeff Johnston wrote:
>
>> We moved from Oracle to PostgreSQL recently and just used the \copy
>> command with csv files. To get the data out of oracle we wrote a small
>> php script to connect to Oracle and then generate the csv files. The way
>> it works is each csv file represented a database table. The copy command
>> is amazingly fast...like faster than you would think is possible. I did
>> have to do the database schema by hand, but we only had 110 tables so it
>> was pretty easy. And by hand I mean I used an Oracle client tool to grab
>> the table/index/sequence creation sql and then copied that into a
>> separate file. It worked really well and wasn't that much work. It also
>> gave me a chance to clean up the schema.
>>
>> I did spend some time looking at tools (scripts, frameworks) to do the
>> migration automatically but none worked very well. With the \copy
>> command you really have all you need.
>>
>>
>>
>>
>> On Wed, Apr 30, 2014 at 8:06 AM, Michael Bostock <bostock83(at)gmail(dot)com
>> <mailto:bostock83(at)gmail(dot)com>> wrote:
>>
>> Hi,
>> We are using an old version of Ingres (3.0.1) and I have been asked
>> to investigate the possibility of migrating to PostgreSQL (9.3.4). I
>> was just wondering if there is any general advice you can give me or
>> if there are any details/tools that will help with the migration.
>> Thanks,
>> Mike
>>
>>
>>
> tldr:
> Tools: a script language
> Gotchas: invalid sql (as per the standard), Ingres specific sql
>
>
>
> Yep, pretty much same story with me. We moved from MSSql to MySql to
> Firebird to PG. (I'm finally happy with PG, I think I'll stay :-) )
>
> I have a big sql script to create all the tables and indexes. I wrote
> perl to search/replace all the field types I needed changed. We host our
> main app on Firebird (FB), so the script is for FB, but the website is on
> PG, so perl converts FB to PG, creates the tables n'stuff, then copies over
> data (via copy). (DBD::Pg is the best thing ever invented).
>
> The website is in php (unfortunately) and it used to do a lot of extra
> work that I think the database should be able to do. Now that we've been
> on PG for a while I've been going through and replacing large stupid parts
> of php with a few lines of sql. (If you have to join tables in php, that
> is a complete failure of your database)
>
> Watch out for your old sql that isn't valid. I had some sql that ran in
> mysql that turned out to be completely invalid. At first your like,
> "Stupid PG, why don't you understand this sql statement". Then you start
> researching sql and PG and realize that statement is nonsense, and who know
> what mysql was even returning because the question is insane.
>
> I never had database functions/procedures to migrate, just structure and
> data. And with perl that was simple.
>
> The application moved over pretty easy once I wrote valid sql. There was
> maybe one or two spots where I'd used specific mysql syntax to get table
> names ("show tables", etc) that needed replaced. Otherwise the sql was
> fine.
>
> -Andy
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jeff Janes 2014-04-30 15:36:08 Re: Vacuuming strategy
Previous Message Andy Colson 2014-04-30 14:14:13 Re: Ingres to Postgres migration