This is a discussion on Convert serial column to regular integer within the pgsql Sql forums, part of the PostgreSQL category; --> I have a need to convert an incorrectly typed serial column to a regular integer column. Basically this just ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I have a need to convert an incorrectly typed serial column to a regular integer column. Basically this just involves removing the sequence. I am able to successfully remove the default value (DROP DEFAULT) (which seems to use nextval) and now pgadmin does show the column as an integer, but I cannot remove the sequence as it says it is still in use. If I look at the column in pgadmin the sequence field is still filled in with the sequence but it is grayed out. Is there any way to remove the sequence fully? Regards, Collin ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| |||
| On 5/11/07, Collin Peters <cadiolis@gmail.com> wrote: > I have a need to convert an incorrectly typed serial column to a > regular integer column. Basically this just involves removing the > sequence. I am able to successfully remove the default value (DROP > DEFAULT) (which seems to use nextval) and now pgadmin does show the > column as an integer, but I cannot remove the sequence as it says it > is still in use. If I look at the column in pgadmin the sequence > field is still filled in with the sequence but it is grayed out. Is > there any way to remove the sequence fully? > > Regards, > Collin CREATE TABLE dtab (i SERIAL); ALTER TABLE dtab ALTER COLUMN i DROP DEFAULT; ALTER SEQUENCE dtab_i_seq OWNED BY NONE; DROP SEQUENCE dtab_i_seq; ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate |
| |||
| Anything pre-8.2? On 5/11/07, Rodrigo De León <rdeleonp@gmail.com> wrote: > > CREATE TABLE dtab (i SERIAL); > > ALTER TABLE dtab ALTER COLUMN i DROP DEFAULT; > > ALTER SEQUENCE dtab_i_seq OWNED BY NONE; > > DROP SEQUENCE dtab_i_seq; > ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| ||||
| "=?ISO-8859-1?Q?Rodrigo_De_Le=F3n?=" <rdeleonp@gmail.com> writes: > On 5/11/07, Collin Peters <cadiolis@gmail.com> wrote: >> Is there any way to remove the sequence fully? > ALTER SEQUENCE dtab_i_seq OWNED BY NONE; Pre-8.2 that command doesn't exist, but you can get the same effect if you manually remove the pg_depend entry that links the sequence to the column. Be sure you're removing the right entry ;-) regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |