The main thing is I changed a bunch of date types to timestamp type. Is there a simple way to change the type on such fields ?

Some fields got renamed and the type changed.

It sounds like doing a copy|template of db1 as db2 and then applying the new changes as a script that will probably work. The contraints are easy to migrate once I have the whole structure in place.

Thanks a lot to all for replying to my post that quickly. Keep them coming if you have more ideas

Regards,
Constantin
http://www.goodstockimages.com




From: Reece Hart <[EMAIL PROTECTED]>
To: MC Moisei <[EMAIL PROTECTED]>
CC: pgsql-general <pgsql-general@postgresql.org>
Subject: Re: [GENERAL] Mapping/DB Migration tool
Date: Tue, 25 Jul 2006 14:49:34 -0700

On Tue, 2006-07-25 at 13:59 -0500, MC Moisei wrote:

> I'm looking to migrate psql db1 to a psql db2 that has a different
> structure
> even though 70% would be the same.


Depending on how much the structure changes (as opposed to more trivial
things like column names), you might consider whether you could actually
use the database itself to do this.

For some kinds of changes, and especially those that make destructive
in-place changes that might require debugging, I've written views which
generate the SQL statements to execute. I then do something like:

$ psql -Atc 'select sql from sql_changes'  | psql -Xa

This works particularly well when the changes can be computed in some
way from the database, such as creating indexes for unindexed PKs
(postgresql doesn't require indexes on PKs).

You'd probably want to do this by making copies of the original database
as a template ('create database db2 template db1') or createdb -T .

-Reece

--
Reece Hart, http://harts.net/reece/, GPG:0x25EC91A0



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to