On 13.12.2010 19:19, Greg Stark wrote:
> On Mon, Dec 13, 2010 at 3:14 PM, Tom Lane<tgl@sss.pgh.pa.us> wrote:
>> I think you need to refactor the operation so that there's one WAL
>> record per child page, or something along that line. I concede this
>> might be diffcult :-(
>
> If it's only the backup blocks that matter couldn't you generate noop
> WAL records with just the full page image in them. Once all those are
> generated then generate the actual split operation and since all the
> pages have been written to wal since the last checkpoint they won't
> need any backup block slots.
>
> This would require surpressing any checkpoints between writing the
> first backup block and the final operation record. That might be
> pretty hard to do cleanly.
That would work, but it brings us back to square one
(http://archives.postgresql.org/message-id/4CCFEE61.2090702@enterprisedb.com).
It's not necessarily a bad idea, A capability to hold off checkpoints
might be the easiest way to do this, and other things in the future.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com