Ben Grimm <[EMAIL PROTECTED]> writes: > The behavior of SELECT nextval() should not be conditional on being in or > out of a transaction block.
Nonsense. The behavior of INSERT or UPDATE is "conditional" in exactly the same way: you should not rely on the reported result until it's committed. Given Vadim's performance concerns, I doubt he'll hold still for forcing an XLogFlush immediately every time a sequence XLOG record is written -- but AFAICS that'd be the only way to guarantee durability of a nextval result in advance of commit. Since I don't think that's an appropriate goal for the system to have, I don't care for it either. I'm planning to try coding up Vadim's approach (pay attention to page's old LSN to see if a WAL record must be generated) tonight or tomorrow and see if it seems reasonable. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])