Jeff Janes <jeff.janes@gmail.com> writes:
> I think the argument is that drawing the next value from a sequence can
> generate xlog that needs to be flushed, but doesn't assign an xid.
> I would think the sequence should flush that record before it hands out the
> value, not before the commit, but...
IIRC the argument was that we'd flush WAL before any use of the value
could make it to disk. Which is true if you're just inserting it into
a table; perhaps less so if the client is doing something external to
the database with it. (But it'd be reasonable to say that clients
who want a guaranteed-good serial for such purposes should have to
commit the transaction that created the value.)
regards, tom lane