Re: (2^63 - 1)::bigint => out of range? (because of the double precision)

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Alexey Dokuchaev <danfe(at)nsu(dot)ru>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: (2^63 - 1)::bigint => out of range? (because of the double precision)
Date: 2018-06-09 14:20:17
Message-ID: 452406d5-fc36-f62e-1675-bf7773e2657b@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 06/09/2018 05:24 AM, Alexey Dokuchaev wrote:
> On Fri, Jun 08, 2018 at 10:30:45AM -0700, Adrian Klaver wrote:

>>
>> My guess is because sequences are often used to provide numbers for a
>> PRIMARY KEY and NO CYCLE is a heads up for key duplication before the
>> PK code kicks in.
>
> OK, but what about highly volatile tables for come-and-go type of things?
> Think of a session pool, or task queue. I want to use NO CYCLE for this
> kind of tables as it would allow me to never worry about hitting "nextval:
> reached maximum value of sequence" error, recycle ids (because they come
> and go), and still be safe because PK constraint protects me. Any flaws
> in this vision of mine?

Assuming you meant CYCLE not NO CYCLE, I see no issue. If you do use a
sequence with NO CYCLE you can use ALTER SEQUENCE some_seq RESTART to
reset it:

https://www.postgresql.org/docs/10/static/sql-altersequence.html

>
> ./danfe
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alexey Dokuchaev 2018-06-09 15:36:26 Re: (2^63 - 1)::bigint => out of range? (because of the double precision)
Previous Message Andreas Kretschmer 2018-06-09 13:27:56 Re: Performance problem postgresql 9.5