Simon Riggs <simon@2ndQuadrant.com> writes:
> So, yes, there are some places where InRecovery is used in code executed
> by the bgwriter, but the correct fix is to use RecoveryIsInProgress().
Agreed, but this gets us no closer to solving the real problem, which is
that when we perform the end-of-recovery checkpoint, we need to act like
we are *not* in recovery anymore, for at least some purposes. Most
notably, to allow us to write a WAL entry at all; but I am suspicious
that pretty much every InRecovery/RecoveryIsInProgress test that that
checkpoint might execute should behave as if we're not in recovery.
regards, tom lane