postgresql изменить идентификатор последовательности таблицы, начиная с заданного значения - PullRequest
0 голосов
/ 18 марта 2019

'id' из моей таблицы 'biblios' не автоинкрементно.В нем уже есть данные, и значение 'id' меняется с 112 на 175.

Я изменил таблицу, добавив nextval, выполнив следующее:

CREATE SEQUENCE biblios_id_seq
OWNED by biblios.id;
ALTER TABLE biblios
ALTER id
SET DEFAULT nextval('biblios_id_seq'::regclass);

Это начинает идентификатор с '1».

Как сделать так, чтобы автоинкремент продолжался на «176»?

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Поскольку последовательность уже создана, вы можете сбросить ее, используя

SELECT setval('biblios_id_seq', max(id)) FROM biblios;
0 голосов
/ 18 марта 2019

Используйте минимальное значение MINVALUE:

CREATE SEQUENCE biblios_id_seq
MINVALUE 176
OWNED by biblios.id;
ALTER TABLE biblios
ALTER id
SET DEFAULT nextval('biblios_id_seq'::regclass);
...