Re: Could postgres12 support millions of sequences? (like 10 million) - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Could postgres12 support millions of sequences? (like 10 million)
Date
Msg-id c66c1fc7-a53b-be8a-81b4-2ab55c1b7b03@aklaver.com
Whole thread Raw
In response to Re: Could postgres12 support millions of sequences? (like 10 million)  (Michael Lewis <mlewis@entrata.com>)
Responses Re: Could postgres12 support millions of sequences? (like 10 million)  (pabloa98 <pabloa98@gmail.com>)
List pgsql-general
On 3/19/20 7:38 PM, Michael Lewis wrote:
> 
> 
> On Thu, Mar 19, 2020, 5:48 PM David G. Johnston 
> <david.g.johnston@gmail.com <mailto:david.g.johnston@gmail.com>> wrote:
> 
>     However, one other consideration with sequences: do you care that
>     PostgreSQL will cache/pin (i.e., no release) every single sequence
>     you touch for the lifetime of the session? (I do not think DISCARD
>     matters here but I'm just guessing)
> 
> 
> 
> Would you expand on this point or is there someplace specific in the 
> documentation on this?
> 

See the section starting here:

https://www.postgresql.org/docs/12/sql-createsequence.html

Notes

"Unexpected results might be obtained if a cache setting greater than 
one is used for a sequence object that will be used concurrently by 
multiple sessions. Each session will allocate and cache successive 
sequence values during one access to the sequence object and increase 
the sequence object's last_value accordingly. Then, the next cache-1 
uses of nextval within that session simply return the preallocated 
values without touching the sequence object. So, any numbers allocated 
but not used within a session will be lost when that session ends, 
resulting in “holes” in the sequence.

...
"


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Could postgres12 support millions of sequences? (like 10 million)
Next
From: pabloa98
Date:
Subject: Re: Could postgres12 support millions of sequences? (like 10 million)