Вы должны выполнить небольшую ручную настройку в PostgreSQL, но вы можете настроить последовательность следующим образом:
create sequence example_seq
increment by -1
minvalue 1
maxvalue 5
start with 5;
create table example(
example_id int primary key default nextval('example_seq'),
data text not null
);
alter sequence example_seq owned by example.example_id;
Полагаю, было бы эквивалентно создать таблицу со столбцом serial
, а затемизмените автоматически сгенерированную последовательность.
Теперь, если я вставлю несколько строк, я получу example_id с обратным отсчетом от 5. Если я попытаюсь вставить более 5 строк, я получу nextval: reached minimum value of sequence "example_seq" (1)