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