Sequences and Increments
Sequences are user defined ordered list of integers. You can define a sequence like 1,2,3,4,5 or multiple of something like 2,4,6,8,10 among different combinations. Since these are unique, typically they are used as primary keys.
Creating a Sequence
We can create a new sequence using the CREATE SEQUENCE statement. For example:
CREATE SEQUENCE increment_by_two INCREMENT 2 START 2;
Now the above statement creates a sequence called increment_by_two which starts at the value 2 and increments by 2.
Auto increment in PostgreSQL
Let's apply a simple sequence like 1,2,3,4,5... to a column.
CREATE TABLE profile( id SERIAL );
Here the id column has been assigned a data type called SERIAL which generates a sequence called profile_id_seq with values starting from 1 and followed by increments of 1. Typically id is used as a primary key and sequencing ensures the uniqueness of the column values.
Operating on Sequence
Once a sequence is created, it can be operated on using certain functions. Primarily to fetch the current value, the next value in the sequence or (re)set the sequence to start from a new value.
- nextval
- currval
- setval
The above functions can be used to perform the operations on the sequence.
Build apps and APIs 10x faster
Built-in authorization and caching
8x more performant than hand-rolled APIs





