Почему последовательности идентификаторов SQL не синхронизируются (особенно с использованием Postgres)?

Я видел решения для обновления последовательности, когда она выходит из синхронизации с первичным ключом, который она генерирует, но я не понимаю, как вообще возникает эта проблема.

Есть ли у кого-нибудь представление о том, как поле первичного ключа, по умолчанию определенное как следующее значение последовательности, чьи первичные ключи нигде явно не установлены, может рассинхронизироваться с последовательностью? Я использую Postgres, и мы время от времени видим, как это происходит. В конечном итоге это приводит к дублированию ключевого ограничения, когда последовательность создает идентификатор для существующей строки.

9
задан Jonathan Leffler 16 February 2012 в 23:53
поделиться