I have verified that killing the postmaster after a few nextval's
leaves things in a bad state after restart.

I think I see the problem: in nextval(), the sequence data written to
the WAL log is different from that written to the data page.  Isn't
that bogus?

To WAL:
                seq->last_value = next;
                seq->is_called = true;
                seq->log_cnt = 0;

To disk:
        seq->last_value = last;         /* last fetched number */
        seq->is_called = true;
        seq->log_cnt = log;                     /* how much is logged */

(also, "log" has been changed between these two points)

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to