При вставке строк с неявными первичными ключами это, похоже, не влияет на последовательность первичных ключей, а затем, при попытке вставки без PK, происходит сбой:
create table testtable(
id serial primary key,
data integer not null
);
Вставка с PK (например, при переносе данных):
insert into testtable ( id, data ) values ( 1,2 ), ( 2,2 ), ( 3,2 ), ( 4,2 );
INSERT 0 4
Вставка новых данных без PK:
insert into testtable ( data ) values ( 4 ), ( 5 ), ( 6 ), ( 7 );
ERROR: duplicate key value violates unique constraint "testtable_pkey"
DETAIL: Key (id)=(1) already exists.
Почему последовательность не устанавливается на максимальное значение после первого INSERT
?Должен ли я контролировать последовательности после вставки с PK?Есть ли способ автоматически установить последовательность на правильном пути?