Thread: Sequence-table association

Sequence-table association

From
"Vamsee Koneru"
Date:
Hi All,

I don't know if this is the right place, but I have a question about
postgres sequences. Does anyone here know if there is a way to associate a
sequence with a table (for primary keys) so that when inserts are made in
the table even without using the sequence, its nextval is automatically
updated? Even the serial datatype doesn't help much because the sequence is
not auto-updated when it is not used.

So the bottomline of my problem is to be able to choose between having the
sequence generate a number for my primary key, and providing one myself
without ever getting yelled at for trying to insert a duplicate key.

Any ideas anyone?
TIA
Vamsee Koneru.

_________________________________________________________________
Bollywood's back! Will June keep up the tempo?
http://server1.msn.co.in/features/junemovies03/index.asp


Re: Sequence-table association

From
Josh Berkus
Date:
Vamsee,

> I don't know if this is the right place, but I have a question about
> postgres sequences. Does anyone here know if there is a way to associate a
> sequence with a table (for primary keys) so that when inserts are made in
> the table even without using the sequence, its nextval is automatically
> updated? Even the serial datatype doesn't help much because the sequence is
> not auto-updated when it is not used.
>
> So the bottomline of my problem is to be able to choose between having the
> sequence generate a number for my primary key, and providing one myself
> without ever getting yelled at for trying to insert a duplicate key.

Sounds like you have some application design problems rather than sequence
problems ;-)

If you need the client application to have the ID before the record is
inserted, simply have the application call:

SELECT NEXTVAL('name_of_sequence');

.... which will provide you the new ID and increment the sequence,
guarenteeing uniqueness, even if the transaction is rolled back.


--
-Josh Berkus
 Aglio Database Solutions
 San Francisco