Re: Sequence Cycle question - Mailing list pgsql-admin

From Tom Lane
Subject Re: Sequence Cycle question
Date
Msg-id 202380.1737654100@sss.pgh.pa.us
Whole thread Raw
In response to Sequence Cycle question  ("Campbell, Lance" <lance@illinois.edu>)
Responses RE: Sequence Cycle question
List pgsql-admin
"Campbell, Lance" <lance@illinois.edu> writes:
> Table X has records that have been removed over time randomly.  There are IDs that cover a wide range of values
between1 and 1,000,000. 
> When the primary key ID, which is a sequence, reaches 1,000,000 then the next sequence value will start back at 1.
> What would happen if I had a primary key for ID of 5 still in use?  When I reach 5 will the sequence skip that number
andgo to 6 instead? 

No, the sequence has no idea about what is in the table.  It will
generate "5" when it's time to, and then your insert will get a
duplicate-key violation.

You could work around that by retrying the insert, but it might
be better to reconsider whether you want a cycling sequence
for this application.

            regards, tom lane



pgsql-admin by date:

Previous
From: "Campbell, Lance"
Date:
Subject: Sequence Cycle question
Next
From:
Date:
Subject: RE: Commit with wait event on advisory lock!