PostgreSQL – Behavior at End of Sequence

postgresqlsequence

As per subject when a sequence hits its max val what happens?

What is the behavior? I have a big table with a sequence as a primary key and would like to know.

Thanks.

Best Answer

If you try it, you'll get:

ERROR: nextval: reached maximum value of sequence "testseq" (9223372036854775807): select nextval('testseq')

This is the case when the sequence is created automatically for a serial or bigserial column. You can create a sequence with specifying CYCLE, in which case it will restart from the MINVALUE specified (or left at the default 1).