Re: Re[2]: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: Иван Фролков <ifrol2001(at)mail(dot)ru>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Re[2]: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки
Date: 2015-10-20 09:39:30
Message-ID: 20151020093930.GE23924@vdsl.uvw.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general


>> в таблицу записываем произошедшие одно за другим события.
>> SERIAL в первичном ключе таким образом определяет какое событие было
>> раньше какое позже (таймстемп тоже есть, но он больше декоративный)
>> поэтому порядок INSERT'ов мне важен.
> Вы поступаете неправильно, и вот почему - во-первых, такие вставки могут идти параллельно, и тогда порядок становится совсем уж странным; во-вторых, порядок вставки при insert действительно не определен (при каком-то другом объеме данных и положении звезд сервер может изменить план и порядок будет совсем иным); и то, что оно иногда (а то и практически всегда) может работать так, как вам надо - не более чем совпадение. Я бы набрался наглости и посоветовал бы либо сделать timestamp не декоративным, либо ввести какой-то свое значение для упорядочивания).

про параллельные вставки я все понимаю.

те что идут параллельно - они (так устроена система) не предъявляют
требований к тому что одна может записаться раньше другой

основной поток делает один INSERT и все

но вот есть конкретно случаи, когда требуется сохранить
последовательность и соответственно там требуется атомарно записать
две записи в БД.

я в соседнем письме описал задачу более подробно
--

. ''`. Dmitry E. Oboukhov
: :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Andrey Asyakin 2015-10-20 12:28:53 Re: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки
Previous Message Dmitry E. Oboukhov 2015-10-20 09:36:36 Re: Re: [pgsql-ru-general] Re: [pgsql-ru-general] порядок вставки