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 <a...@squeakycode.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 <bostoc...@gmail.com
>> <mailto:bostoc...@gmail.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
>

Reply via email to