Re: serial type question - Mailing list pgsql-sql

From Richard Huxton
Subject Re: serial type question
Date
Msg-id 3AB6922E.89E78E4B@archonet.com
Whole thread Raw
In response to serial type question  ("postgresql" <pgsql@symcom.com>)
List pgsql-sql
postgresql wrote:
> 
> I have a table that I want to add a serial type column. Is there a way
> to add it or do I have to create a new table and insert into it. I have
> experimented with:
> 
> insert into newdb (name) select name from olddb order by jobno;
> 
> however, pg does not allow the 'order by' during an insert/select

Doesn't make sense on an insert - you want an alter table followed by an
update. An insert will add new rows, not just add values to a column.

> I am on version 7.0.3
> 
> Maybe I don't need to do this. What I am trying to accomplish is to
> have PG create job numbers. Today, I only have 2 workstations that
> push jobs into the server and PG tracks the job number. However, I
> have been informed that in the next 6-8 months the number of job
> creation workstations will grow to 8 - 10.

A serial type is basically nothing more than a sequence with a column
that uses the sequence as a default value. There's more on this in the
docs (a couple of lines in the notes I wrote off
techdocs.postgresql.org) but the simplest way to see how it works is to
define a table foo with a serial in it and do a \d or pg_dump it to see
how it works.

> I would like to migrate to a job number created when the insert is
> done.

Once you see how it works, pg_dump the database, edit the file and
re-import the data. Nice clean solution and easy to cope with if
something goes wrong.

- Richard Huxton


pgsql-sql by date:

Previous
From: "Josh Berkus"
Date:
Subject: Re: count() and multiple tables
Next
From: "Rachel Coin"
Date:
Subject: Categories and subcategories