Jonathan,
Could you tell me what is the real impact of "fsync=false" on the WAL and on the
database in the same catastrophic scenario ?
Thierry Missimilly
Jonathan Bartlett wrote:
> WAL is write-ahead logging. Basically, before the database actually
> performs an operation, it writes in a log what it's about to do. Then, it
> goes and does it. This ensures data consistency. Let's say that the
> computer was powered off suddenly. There are several points that could
> happen:
>
> 1) before a write - in this case the database would be fine with or
> without write-ahead logging.
>
> 2) during a write - without write-ahead logging, if the machine is powered
> off during a write, the database has no way of knowing what remained to be
> written, or what was being written. WIth Postgres, this is furthere
> broken down into two possibilities:
>
> * The power-off occurred while it was writing to the log - in this
> case, the log is rolled back. The database is unaffected because the data
> was never written to the database proper.
>
> * The power-off occurred after writing to the log, while writing to
> disk - in this case, Postgres can simply read from the log what was
> supposed to be written, and complete the write.
>
> 3) after a write - again, this does not affect Postgres either with or
> without WAL.
>
> In addition, WAL increases PostgreSQL's efficiency, because it can delay
> random-access writes to disk, and just do sequential writes to the log for
> a long time. This reduces the amount of head-seek the dissk are doing.
> If you store your WAL files on a different disk, you get even more speed
> advantages.
>
> Jon
>
> On Tue, 25 Nov 2003, Relaxin wrote:
>
> > I'm just trying to figure out the terminology that is used on this board and
> > wanted to know what is WAL and what roll does it play in Postgresql?
> >
> > Thanks
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 7: don't forget to increase your free space map settings
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match