Hi,
On 5/30/23 5:24 PM, Andres Freund wrote:
> Hi,
>
> On 2023-05-29 14:31:24 +0200, Drouvot, Bertrand wrote:
>> On 5/29/23 1:03 PM, Tom Lane wrote:
>>> but I wouldn't be surprised if something in the logical replication
>>> mechanism itself could be running a transaction at the wrong instant.
>>>
>>> Some of the other recovery tests set
>>> autovacuum = off
>>> to try to control such problems, but I'm not sure how much of
>>> a solution that really is.
>>
>> One option I can think of is to:
>>
>> 1) set autovacuum = off (as it looks like the usual suspect).
>> 2) trigger the vacuum in verbose mode (as suggested by Shi-san) and
>> depending of its output run the "invalidation" test or: re-launch the vacuum, re-check the output
>> and so on.. (n times max). If n is reached, then skip this test.
>
> I think the best fix would be to wait for a new snapshot that has a newer
> horizon, before doing the vacuum full.
>
Thanks for the proposal! I think that's a great idea, I'll look at it
and update the patch I've submitted in [1] accordingly.
[1]: https://www.postgresql.org/message-id/bf67e076-b163-9ba3-4ade-b9fc51a3a8f6%40gmail.com
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com