Re: ALTER TABLE and dropping a column - Mailing list pgsql-sql

From Josh Berkus
Subject Re: ALTER TABLE and dropping a column
Date
Msg-id web-687910@davinci.ethosmedia.com
Whole thread Raw
In response to ALTER TABLE and dropping a column  (Frank Joerdens <frank@joerdens.de>)
List pgsql-sql
Frank,

> ALTER TABLE foo DROP COLUMN bar;
> 
> Is there a way to do that manually and safely, e.g. by manipulating
> pg_class or pg_attribute? I found a couple of threads about it dating
> from way back in summer 2000 and early 2001, but nothing conclusive.

At this time, I would strongly recommend one of two approaches:

If the table has multiple constraints and other dependant objects:
1. pg_dump the database.
2. Edit the table definition and the data for the table from thepg_dump file.
3. Restore the database from pg_dump

If it doesn't:
1. Select the data for columns you want to keep into a new holdingtable.
2. Drop and re-build the table with the correct columns.
3. Insert the data from the holding table into the re-build table.
4. Drop the holding table.

It's a pain, I know, but not nearly the pain you will suffer if youstart mucking with the system tables ...

-Josh

______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco
 


pgsql-sql by date:

Previous
From: Frank Joerdens
Date:
Subject: ALTER TABLE and dropping a column
Next
From: Mark Nielsen
Date:
Subject: How do you return more than one variable in a plpgsql function?