On Wed, Feb 01, 2023 at 09:58:06AM -0800, Nathan Bossart wrote:
> On Wed, Feb 01, 2023 at 08:58:01AM -0800, Andres Freund wrote:
>> On 2023-02-01 10:12:26 -0500, Tom Lane wrote:
>>> The fundamental issue is that we have no good way to break out
>>> of system(), and I think the original idea was that
>>> in_restore_command would be set *only* for the duration of the
>>> system() call. That's clearly been lost sight of completely,
>>> but maybe as a stopgap we could try to get back to that.
>>
>> We could push the functions setting in_restore_command down into
>> ExecuteRecoveryCommand(). But I don't think that'd end up necessarily
>> being right either - we'd now use the mechanism in places we previously
>> didn't (cleanup/end commands).
>
> Right, we'd only want to set it for restore_command. I think that's
> doable.
Here is a first draft for the proposed stopgap fix. If we want to proceed
with this, I can provide patches for the back branches.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com