On 13.02.2013 20:25, Simon Riggs wrote:
> On 13 February 2013 09:04, Heikki Linnakangas<hlinnakangas@vmware.com> wrote:
>
>> To be precise, we'd need to update the control file on every XLogFlush(),
>> like we do during archive recovery. That would indeed be unacceptable from a
>> performance point of view. Updating the control file that often would also
>> be bad for robustness.
>
> If those arguments make sense, then why don't they apply to recovery as well?
To some degree, they do. The big difference is that during normal
operation, every commit is XLogFlushed(). During recovery, XLogFlush()
happens much less frequently - certainly not after replaying each commit
record.
> It sounds like we need to look at something better for use during
> archive recovery.
Well, no-one's complained about the performance. From a robustness point
of view, it might be good to keep the minRecoveryPoint value in a
separate file, for example, to avoid rewriting the control file that
often. Then again, why fix it when it's not broken.
- Heikki