Если у меня есть последовательность 'foo' в postgres, и я делаю что-то вроде следующего:
begin;
insert into ... values (nextval('foo'));
commit;
Оценивается ли nextval
при коммите?Другими словами, если я только сделаю такие записи в этот столбец, будет ли он отображаться как монотонно увеличивающийся, или есть ли гонка там?
Документы ясно дают понять, что последовательности не транзакционные, но неони могут быть использованы для заказа записи таким образом.
Если да, что по этому поводу?
begin;
select nextval('foo'); -- save the value
insert into ... values (<saved value>);
commit;