Thread
-
After ~Crash Sequence not correct
Henshall, Stuart - WCP <shenshall@westcountrypublications.co.uk> — 2001-12-19T13:00:17Z
Severity: Annoyance Setup: PostgreSQL 7.1.2 on Dual PIII WinNT4 server + Cygwin 1.3.2 PostgreSQL is run as a service and when rebooting (which doesn't shutdown - previously on cygwin list (hence the ~Crash in title)) I have twice noticed that a sequence was not properly updated, however records with Primary keys based upon the sequence where present in the table. (I *think* it was a different table & sequence last time). - Stuart
-
Re: After ~Crash Sequence not correct
Tom Lane <tgl@sss.pgh.pa.us> — 2001-12-19T16:02:53Z
"Henshall, Stuart - WCP" <SHenshall@westcountrypublications.co.uk> writes: > Setup: PostgreSQL 7.1.2 on Dual PIII WinNT4 server + Cygwin 1.3.2 > PostgreSQL is run as a service and when rebooting (which doesn't shutdown - > previously on cygwin list (hence the ~Crash in title)) I have twice noticed > that a sequence was not properly updated, however records with Primary keys > based upon the sequence where present in the table. Hmm. You're about the third person to report something like this, so there's clearly something not right. I'm guessing a bug in the WAL logging or redo code for sequences ... regards, tom lane
-
Re: After ~Crash Sequence not correct
Tom Lane <tgl@sss.pgh.pa.us> — 2001-12-19T17:39:18Z
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