Недавно я столкнулся с очень странным поведением PSQL (v11):
Если я создаю таблицу со столбцом идентификаторов, добавляю несколько записей, а затем удаляю последнюю строку, ключ этих строк будет повторно использован!
create table "MyTable" (id identity not null, name varchar(50));
insert into "MyTable" (name) values ('Row 1');
insert into "MyTable" (name) values ('Row 2');
insert into "MyTable" (name) values ('Row 3');
select * from "MyTable"
пока все хорошо
id name
=========== ============
1 Row 1
2 Row 2
3 Row 3
затем, когда я удаляю "Строка 3"
delete from "MyTable" where id = 3;
и добавьте новую строку
insert into "MyTable" (name) values ('Row 4');
Я удивлен, получив
id name
=========== ==============
1 Row 1
2 Row 2
!!! ---> 3 Row 4
Есть ли способ изменить конфигурацию сервера на , предотвратить это поведение . Я также был бы рад любому другому предложению создать надежно уникальное целое число в распространяющемся SQL.