Re: Logical to physical page mapping
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jan Wieck <JanWieck@yahoo.com>, PostgreSQL Development <pgsql-hackers@postgresql.org>
Date: 2012-11-06T03:11:56Z
Lists: pgsql-hackers
On Mon, Oct 29, 2012 at 07:05:39AM -0400, Robert Haas wrote: > Yet another idea we've tossed around is to make only vacuum records > include FPWs, and have the more common heap insert/update/delete > operations include enough information that they can still be applied > correctly even if the page has been "torn" by the previous replay of > such a record. This would involve modifying the recovery algorithm so > that, until consistency is reached, we replay all records, regardless > of LSN, which would cost some extra I/O, but maybe not too much to > live with? It would also require that, for example, a heap-insert > record mention the line pointer index used for the insertion; > currently, we count on the previous state of the page to tell us that. > For checkpoint cycles of reasonable length, the cost of storing the > line pointer in every WAL record seems like it'll be less than the > cost needing to write an FPI for the page once per checkpoint cycle, > but this isn't certain to be the case for all workloads. This last idea has the most promise for me. Vacuum is far less common than row modification writes. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +