On 4 November 2010 14:04, Tom Lane <t...@sss.pgh.pa.us> wrote: > Thom Brown <t...@linux.com> writes: > > Would it be possible (or reasonable) to add support for changing the type > of > > a column to serial or bigserial (yes, yes, I know they're not actual > > types)? > > We've looked at that in the past and decided there were enough corner > cases that it wasn't clearly a good idea. In particular, what do you do > with the existing data in the column? What do you do if there's already > a DEFAULT expression for the column, throw it away? In particular, what > of the special case that the column is in fact already a serial, so the > default is pointing at an existing sequence? > > It is possible to accomplish everything that such a command would do > manually, so the argument for having it boils down to wanting it to > be a bit easier. But unless the command can always do the right thing > automatically, I'm not sure "easy" is a good argument. > > There's also the objection that such an operation would actually have > very little to do with ALTER COLUMN TYPE --- most of the things it would > do are not that. The fact that serial was bolted on as a fake type is a > wart that maybe we shouldn't extend in this particular fashion. > > I suspected this may have been discussed previously, I just failed to find it. And yes, it's purely for simplification, and to auto-clean sequences when tables are dropped. I didn't think it would be straightforward, but clearly there are show-stoppers abound.
Thanks for the reply though. :) -- Thom Brown Twitter: @darkixion IRC (freenode): dark_ixion Registered Linux user: #516935