Re: crash-safe visibility map, take three - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: crash-safe visibility map, take three
Date
Msg-id 4CF79C19020000250003819A@gw.wicourts.gov
Whole thread Raw
In response to Re: crash-safe visibility map, take three  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
Jeff Davis <pgsql@j-davis.com> wrote:
> And, if we had a bulk loading path, we could probably get away
> with writing the data only twice (today, we write it 3 times
> including the hint bits) or maybe once if WAL archiving is off.
If you're counting WAL writes, you're low.  If you don't go out of
your way to avoid it, you are likely to write the data to the table
once during the bulk load, a second time on first read to set the
hint bits, and a third time to freeze data to prevent wrap-around. 
The initial write may or may not be WAL-logged.  The freezing
typically is WAL-logged.
So, you can easily write the data to disk four or five times.  With
luck these are spread out uniformly or happen during off-peak
periods.  Unmanaged, a WAL-logged freeze of bulk-loaded data is
somewhat more likely to occur, however, during hours of heavy OLTP
load, because transaction numbers are consumed so quickly.
Currently, a VACUUM FREEZE after a bulk load collapses at least two
of those writes to one.  With luck, some pages might still be dirty
in cache, and you can save two of the writes.
-Kevin


pgsql-hackers by date:

Previous
From: Joachim Wieland
Date:
Subject: Re: WIP patch for parallel pg_dump
Next
From: Greg Stark
Date:
Subject: Re: Spread checkpoint sync