Zamiast używać bigserial, który jest autoinkrementującym bigintem specyficznym dla postgresa, użyj bigint, jeśli zamierzasz skonfigurować własną inkrementację i sekwencję”. Typy danych smallserial, serial i bigserial nie są prawdziwymi typami, a jedynie ułatwieniem w tworzeniu unikalnych kolumny identyfikatora (podobne do właściwości AUTO_INCREMENT obsługiwanej przez niektóre inne bazy danych). W bieżącej implementacji określenie:"
CREATE TABLE tablename (
colname SERIAL
);
jest taki sam jak
CREATE SEQUENCE tablename_colname_seq AS integer;
CREATE TABLE tablename (
colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
Stąd
https://www.postgresql.org/docs/12/datatype-numeric .html