Joachim Wieland wrote:
> On Wed, Feb 08, 2006 at 09:03:54AM -0500, Bruce Momjian wrote:
> > Joachim Wieland wrote:
> > > On Tue, Feb 07, 2006 at 09:49:02AM -0500, Bruce Momjian wrote:
> > > > > The correct solution to this is to forbid ALTER COLUMN SET DEFAULT on
> > > > > a serial column, but we haven't gotten around to enforcing that yet.
>
> > > > TODO has:
>
> > > > * %Disallow changing default expression of a SERIAL column
>
> > > This should go along with another command like
>
> > > ... ALTER COLUMN DROP SERIAL
>
> > > which drops the serial and removes the dependencies to get rid of it in a
> > > clean way, right?
>
> > Uh, you can drop a column or change its data type, but not drop the data
> > type of a column.
>
> Sure, the "DROP SERIAL" I proposed would rather "change" the data type
> to int by dropping the default and would delete referring pg_depend entries.
> Read it more as a kind of "drop autoincrement functionality for this
> column".
>
> The problem I see (but you might see it differently) is that you can't drop
> this autoincrement stuff without also dropping the column once you forbid to
> change the default (yeah I know, changing the default is even worse and
> leaves you with incorrect dependencies).
I assume an ALTER COLUMN ... TYPE INTEGER would drop the SERIAL part.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073