Thread

  1. Re: After ~Crash Sequence not correct

    Vadim Mikheev <vmikheev@sectorbase.com> — 2001-12-19T18:36:46Z

    > 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?
    
    It was made to avoid WAL-loging on each nextval call, ie it should work
    like OID pre-fetching: value stored in WAL must always "exceed" values
    returned by nextval so on the after-crash-restart sequence should be
    advanced to value which was never returned by nextval (for non-cycled
    sequences). Maybe I made some mistakes in implementation?
    
    Vadim
    
    
  2. Re: After ~Crash Sequence not correct

    Tom Lane <tgl@sss.pgh.pa.us> — 2001-12-19T18:48:33Z

    "Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes:
    > It was made to avoid WAL-loging on each nextval call, ie it should work
    > like OID pre-fetching: value stored in WAL must always "exceed" values
    > returned by nextval so on the after-crash-restart sequence should be
    > advanced to value which was never returned by nextval (for non-cycled
    > sequences). Maybe I made some mistakes in implementation?
    
    Oh, okay.  What I saw was that the next nextval() after restart was
    higher than what I was expecting; but that's correct given the prefetch
    behavior.
    
    But we've seen several reports wherein the value appeared to go
    backwards after a crash.
    
    Stuart, you weren't running with -F (fsync off) by any chance, were you?
    
    			regards, tom lane
    
    
  3. Re: After ~Crash Sequence not correct

    Bruce Momjian <pgman@candle.pha.pa.us> — 2002-01-03T05:57:13Z

    Mikheev, Vadim wrote:
    > > 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?
    > 
    > It was made to avoid WAL-loging on each nextval call, ie it should work
    > like OID pre-fetching: value stored in WAL must always "exceed" values
    > returned by nextval so on the after-crash-restart sequence should be
    > advanced to value which was never returned by nextval (for non-cycled
    > sequences). Maybe I made some mistakes in implementation?
    
    Was this ever fixed?
    
    -- 
      Bruce Momjian                        |  http://candle.pha.pa.us
      pgman@candle.pha.pa.us               |  (610) 853-3000
      +  If your life is a hard drive,     |  830 Blythe Avenue
      +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026