RE: Shouldn't flush dirty buffers at shutdown ? - Mailing list pgsql-hackers

From Mikheev, Vadim
Subject RE: Shouldn't flush dirty buffers at shutdown ?
Date
Msg-id 8F4C99C66D04D4118F580090272A7A23018BC8@SECTORBASE1
Whole thread Raw
In response to Shouldn't flush dirty buffers at shutdown ?  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
Responses RE: Shouldn't flush dirty buffers at shutdown ?  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
List pgsql-hackers
> > > > I think you have identified a problem that needs
> > > > a more general solution: we need to be robust in the case that
> > > > an index entry is on disk that points to a tuple that never made
> > > > it to disk.
> > 
> > And this general solution is WAL.
> >
> Yes exactly.
> But I've thought it's mainly for aborts in the middle of btree page
> splitting or for system crash in which we couldn't expect synchronous
> flushing of dirty buffers.

Central idea of WAL - write (and flush) to log all changes made in data
buffers _before_ data files will be changed. Buffer mgmr will be
responsible for this. Changes made in table buffers will be logged before
changes made in index ones, redo will insert un-inserted table rows and
index rows will not point to unexistent tuples in table. Undo will erase
all uncommitted changes (but will not shrink tables/indices).

Vadim



pgsql-hackers by date:

Previous
From: "Hiroshi Inoue"
Date:
Subject: RE: Shouldn't flush dirty buffers at shutdown ?
Next
From: The Hermit Hacker
Date:
Subject: Re: [SQL] Mail problems