Re: adding fields to a table

Started by Benjamin Juryalmost 23 years ago2 messagesgeneral
Jump to latest
#1Benjamin Jury
benjamin.jury@mpuk.com

I have a table with a bunch of records already inserted. When
I want to add or remove fields from the, what I've done is
produce an sql file, add the fields to the create table
directive, and add the fields manually to each record to be
inserted. Then I do an

\i db_name

which destroys all the tables and records and then recreates
them. I'm wondering if there's a better way. Namely, I alter
the table using psql, which I know can be done. What I'm not
sure about is whether altering the table will also alter the
records, or will the records inserted previous to the alter
table be out of sync with the table.

You can use ALTER TABLE.

ALTER TABLE <table> ADD [column] column type

Can also rename columns, add constraints, change to NOT NULL, etc.

However you cannot currently remove a column...

ALTER TABLE in SQL COMMANDS at:
http://www.postgresql.com/docs/pdf/7.3/reference-7.3.2-A4.pdf

#2Ian Lawrence Barwick
barwick@gmail.com
In reply to: Benjamin Jury (#1)

On Thursday 26 June 2003 18:34, Benjamin Jury wrote:
(...)

You can use ALTER TABLE.

ALTER TABLE <table> ADD [column] column type

Can also rename columns, add constraints, change to NOT NULL, etc.

However you cannot currently remove a column...

Oh yes you can:

ALTER TABLE tbl DROP COLUMN whatever

http://www.postgresql.org/docs/view.php?version=7.3&amp;idoc=0&amp;file=ddl-alter.html

IIRC it was introduced fairly recently (7.3?)

Ian Barwick
barwick@gmx.net