У меня есть таблица postgres, и ее первичным ключом является автоприращение без знака int. Насколько мне известно о postgres, postgres сохраняет эти автоматически увеличивающиеся значения в виде последовательностей. Поэтому, если запись удаляется из таблицы и указанный первичный ключ c удаляется, следующая вставленная строка не будет повторно использовать ранее удаленный первичный ключ.
Теперь в таблице, о которой я упоминал, было первые 6 строк долгое время отбрасывались go, (первичные ключи: 1,2,3,4,5,6), а между тем новые записи были вставлены, но странно то, что в какой-то момент времени не совсем после того, как строки были отброшены, эти первые несколько строк были заполнены, и теперь используются первичные ключи с 1 по 6, хотя postgres должен был продолжаться.
В какой-то момент времени нам пришлось иметь дело с вздутием живота, и мы справились с этим путем уборки пылесосом, но я не думаю, что это является основной причиной этой проблемы.
Я знаю, что в этом типе вопросов отсутствует часть контекста и трудно что-то отладить, не видя проблемы на самом деле, но главная проблема опять-таки заключается в том, почему первичный ключ использовался повторно?
Надежда кого-то с большим опытом и пониманием того, как postgres горе rks может рассказать мне о какой-то скрытой механике, о которой я не знаю.
Спасибо!