Re: [GENERAL] adding fields to a table

2003-06-27 Thread Benjamin Jury
> > 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&idoc=0&fil
> e=ddl-alter.html
> 
> IIRC it was introduced fairly recently (7.3?)

Doh! Really should get rid of 'Practical PostgreSQL' as my point of
reference, only covers 7.1.x... Come on O'Reilly, print a second edition!

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: [GENERAL] adding fields to a table

2003-06-26 Thread Martijn van Oosterhout
ALTER TABLE ADD COLUMN

On Thu, Jun 26, 2003 at 12:42:18PM -0400, MT wrote:
> Hello,
> 
> 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.
> 
> Thanks for your advice.
> 
> Mark
> 
> ---(end of broadcast)---
> TIP 5: Have you checked our extensive FAQ?
> 
>http://www.postgresql.org/docs/faqs/FAQ.html

-- 
Martijn van Oosterhout   <[EMAIL PROTECTED]>   http://svana.org/kleptog/
> "the West won the world not by the superiority of its ideas or values or
> religion but rather by its superiority in applying organized violence.
> Westerners often forget this fact, non-Westerners never do."
>   - Samuel P. Huntington


pgp0.pgp
Description: PGP signature


Re: [GENERAL] adding fields to a table

2003-06-26 Thread Ian Barwick
On Thursday 26 June 2003 18:34, Benjamin Jury wrote:
(...)
>
> You can use ALTER TABLE.
>
> ALTER 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&idoc=0&file=ddl-alter.html

IIRC it was introduced fairly recently (7.3?)

Ian Barwick
[EMAIL PROTECTED]


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [GENERAL] adding fields to a table

2003-06-26 Thread Benjamin Jury
> 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  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

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


[GENERAL] adding fields to a table

2003-06-26 Thread MT
Hello,

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.

Thanks for your advice.

Mark

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faqs/FAQ.html