Search Postgresql Archives

Re: question regarding full_page_write

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/22/2011 05:07 PM, Martín Marqués wrote:
My question regarding your answer is, why is it important for the
first page after a checkpoint and not on other page writes?

The first time a page is written after a checkpoint, when full_page_writes is on, the entire 8K page is written out to disk at that point. The idea is that if the page is corrupted in any way by a partial write, you can restore it to a known good state again by using this version. After that copy, though, additional modifications to the page only need to save the delta of what changed, at the row level. If there's a crash, during recovery the full page image will be written, then the series of deltas, ending up with the same data as was intended.

This whole mechanism resets again each time a checkpoint finishes, and the full page writes start all over again. One of the main purposes of checkpoints are to move forward the pointer of how far back crash recovery needs to replay from. Starting each new checkpoint over again, with a full copy of all the data modified going into the WAL, it is part of that logic.

--
Greg Smith   2ndQuadrant US    greg@xxxxxxxxxxxxxxx   Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support  www.2ndQuadrant.us


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux