Hi,
I've got a live database running PSQL 7.0.3. I need to do a couple of
changes to some of the table schema's but need to preserve the data
that currently exists in the tables. I've used pg_dump to make
backups and have verified that I can indeed restore into an empty
database from those backups; I'm glad I did this as I found out I have
to use 'pg_dump -d' to get a useful backup. =)
I need to perform three slightly different ALTER TABLE type jobs:
1. I need to change a column from numeric(8,2) to text.
2. I need to add a column or two to a couple of tables.
3. I need to drop a column or two from a couple of tables.
Initially my thought was to create a new temporary table, SELECT INTO
it from my original table, drop the original table, re-create it as I
need it and do a SELECT INTO from the temporary table back to the new
table. The thing I'm unsure of is what will happen to referential
integrity? The tables I need to modify are referenced by other
tables- will those other tables realise that they should re-establish
foreign key references? If not automatically, will VACUUM ANALYZE do
this for me?
I'm going to experiment in my test database but figured this might be
an interesting topic to discuss anyway. Also, if any good
advice/answers exist perhaps they should go in the FAQ?
Any suggestions would be appreciated.
Cheers,
Jamu.
--
Jamu Kakar (Developer) Expressus Design Studio, Inc.
jkakar@expressus.com 708-1641 Lonsdale Avenue
V: (604) 903-6994 North Vancouver, BC, V7M 2J5