Re: Re[2]: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки
От | Dmitry E. Oboukhov |
---|---|
Тема | Re: Re[2]: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки |
Дата | |
Msg-id | 20151020093930.GE23924@vdsl.uvw.ru обсуждение исходный текст |
Ответ на | Re[2]: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки (Иван Фролков <ifrol2001@mail.ru>) |
Список | pgsql-ru-general |
>> в таблицу записываем произошедшие одно за другим события. >> SERIAL в первичном ключе таким образом определяет какое событие было >> раньше какое позже (таймстемп тоже есть, но он больше декоративный) >> поэтому порядок INSERT'ов мне важен. > Вы поступаете неправильно, и вот почему - во-первых, такие вставки могут идти параллельно, и тогда порядок становится совсемуж странным; во-вторых, порядок вставки при insert действительно не определен (при каком-то другом объеме данных иположении звезд сервер может изменить план и порядок будет совсем иным); и то, что оно иногда (а то и практически всегда)может работать так, как вам надо - не более чем совпадение. Я бы набрался наглости и посоветовал бы либо сделать timestampне декоративным, либо ввести какой-то свое значение для упорядочивания). про параллельные вставки я все понимаю. те что идут параллельно - они (так устроена система) не предъявляют требований к тому что одна может записаться раньше другой основной поток делает один INSERT и все но вот есть конкретно случаи, когда требуется сохранить последовательность и соответственно там требуется атомарно записать две записи в БД. я в соседнем письме описал задачу более подробно -- . ''`. Dmitry E. Oboukhov : :’ : email: unera@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Вложения
В списке pgsql-ru-general по дате отправления: