From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Updating FSM on recovery |
Date: | 2008-10-28 14:51:18 |
Message-ID: | 24334.1225205478@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
> So we should try to update the FSM during recovery as well. It doesn't
> need to be very accurate, as the FSM information isn't accurate anyway,
> but we should try to avoid the worst case scenarios.
Agreed.
> One issue with this patch is that it doesn't update the FSM at all when
> pages are restored from full page images. It would require fetching the
> page and checking the free space on it, or peeking into the size of the
> backup block data, and I'm not sure if it's worth the extra code to do that.
I'd vote not to bother, at least not in the first cut. As you say, 100%
accuracy isn't required, and I think that in typical scenarios an
insert/update that causes a page to become full would be relatively less
likely to have a full-page image.
As far as the ugliness in XLogRecordPageWithFreeSpace goes: couldn't you
just call XLogReadBufferWithFork with init = true, and then initialize
the page if PageIsNew?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Dimitri Fontaine | 2008-10-28 14:59:48 | Re: WIP patch: convert SQL-language functions to return tuplestores |
Previous Message | Joshua D. Drake | 2008-10-28 14:50:30 | Re: Proposal of PITR performance improvement for 8.4. |