| From: | "Trewern, Ben" <Ben(dot)Trewern(at)mowlem(dot)com> | 
|---|---|
| To: | "'pgsql-general(at)postgresql(dot)org'" <pgsql-general(at)postgresql(dot)org>, "'pgsql-docs(at)postgresql(dot)org'" <pgsql-docs(at)postgresql(dot)org> | 
| Subject: | RE: [GENERAL] Re: ALTER DROP COLUMN | 
| Date: | 2001-02-13 09:34:59 | 
| Message-ID: | 996802F75C3CD411B424001083FA445B05953C@CET_PONXX_FP001 | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-docs pgsql-general | 
Is there any chance of adding a note about this to the docs?  It does not
seem to be documented anywhere!  Maybe a note in ALTER TABLE
(sql-altertable.htm) and changing the FAQ slightly to mention what happen to
triggers, views, constraints etc.
Regards
Ben
> -----Original Message-----
> From: Fred Yankowski [mailto:fred(at)ontosys(dot)com]
> Sent: 12 February 2001 21:41
> Cc: pgsql-general(at)postgresql(dot)org
> Subject: [GENERAL] Re: ALTER DROP COLUMN
> 
> 
> I just tried this recommended procedure with a little test.  It copied
> over the Attribute and Type information and the primary key index, but
> left everything else behind:  not-null constraints, defaults,
> references constraints, check constraints, sequence generated for
> 'serial' type -- to name a few.
> 
> So how is this useful for anything beyond a toy database?
> 
> This inability to drop a column makes it hard to follow an "extreme
> programming" style of development, where one designs only as much into
> the database schema as is needed at the moment (DTSTTCPW, YAGNI).
> When I do that I often find that I need to drop columns (in favor of
> other columns of different types) as I evolve the schema to support
> ever more complex applications.  PostgreSQL makes this a bit harder
> than it needs to be.
> 
> On Mon, Feb 12, 2001 at 12:34:20PM -0800, Brent R. Matzelle wrote:
> > I know it's a pain, but it isn't all that bad.  Just rename your
> > table like so:
> > 
> > ALTER TABLE <old_name> RENAME TO <another_name>
> > 
> 
> > Then re-create the old table without the deleted column(s):
> > 
> > SELECT col1, col2, col4 INTO TABLE <old_name> FROM
> > <another_name>
> > 
> > Then delete the old table:
> > 
> > DROP TABLE <another_name>
> 
> -- 
> Fred Yankowski           fred(at)OntoSys(dot)com      tel: +1.630.879.1312
> Principal Consultant     www.OntoSys.com       fax: +1.630.879.1370
> OntoSys, Inc             38W242 Deerpath Rd, Batavia, IL 60510, USA
> 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Volker Paul | 2001-02-13 12:10:27 | C/C++ interface | 
| Previous Message | shreya sharma | 2001-02-13 06:53:46 | Problem in downloading | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Ansley | 2001-02-13 09:56:18 | RE: transaction safety | 
| Previous Message | Peter T Mount | 2001-02-13 09:34:02 | Re: How to make PostgreSQL JDBC drive get PGTZ? |