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.klaver@xxxxxxxxxxx