Change SERIAL to INTEGER

From: Pedro Monjo Florit <pmonjo2000(at)yahoo(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Change SERIAL to INTEGER
Date: 2006-01-27 09:10:49
Message-ID: 43D9E399.7030508@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi everybody:

In a computer which is un production, I have a PostgreSQL 7.4 database.
In a couple of tables, I have just realised that I made a small mistake:
the primary key is SERIAL but what I really need is an INTEGER, since I
do not need the auto-increment feature or the sequence. Until now, this
has not created any problem, since all INSERTs set the primary key
value, but I am not sure if in the future this could cause any problem.
I cannot drop and recreate the table or the column, since this column is
a used as foreign keys in other tables.

I have already tried to do the following:

ALTER TABLE mytable ALTER COLUMN mytableid DROP DEFAULT;
DROP SEQUENCE mytable_mytableid_seq;

but the last command fails, saying that mytable still uses this sequence.

Is there any way to change a SERIAL type to an INTEGER? I think that it
should be easy, since SERIAL is, in fact, an INTEGER with some conditions.

Thanks!

Pedro

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Stephan Vollmer 2006-01-27 09:53:19 Error: "could not read from statistics collector pipe"
Previous Message Marko Kreen 2006-01-27 08:36:33 Re: "xmin" system column