Re: Gaps in PK sequence numbers - Mailing list pgsql-general

From David G. Johnston
Subject Re: Gaps in PK sequence numbers
Date
Msg-id CAKFQuwboV8qvZrGWb+TOsNVYXzf=j=gE3fYMYFoNg2JT2_0YqA@mail.gmail.com
Whole thread Raw
In response to Gaps in PK sequence numbers  (Rich Shepard <rshepard@appl-ecosys.com>)
Responses Re: Gaps in PK sequence numbers
List pgsql-general
On Mon, Jun 10, 2024 at 3:57 PM Rich Shepard <rshepard@appl-ecosys.com> wrote:

I found a web page that explains how to find the gaps in a sequence, yet I
want to understand why nextval() doesn't begin with the max(FK)+1 value.

For efficiency the only thing used to determine the next value of a sequence is the stored value of the last sequence value issued.  Where that value may have been used, in a table as a PK or some other purpose, does not enter into it.  Using a sequence as a default does indeed become problematic if you don't use it exclusively.  If you do use it exclusively usually you just set the last value to be the maximum needed and use it going forward.  The numbers from deleted rows simply remain missing in the table.

David J.

pgsql-general by date:

Previous
From: Thomas Munro
Date:
Subject: Re: libpq v17 PQsocketPoll timeout is not granular enough
Next
From: Christophe Pettus
Date:
Subject: Re: Gaps in PK sequence numbers