Mark Dilger <mark.dilger@enterprisedb.com> writes:
> On Nov 20, 2022, at 12:37 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> contrib/amcheck and contrib/pg_visibility are also using
>> DISABLE_PAGE_SKIPPING, so I wonder if they have similar hazards.
>> I haven't seen them fall over, though.
> In the amcheck regression test case, it's because the test isn't
> sensitive to whether the freeze actually happens. You can comment
> out that line, and the only test difference is the comment:
Interesting. I tried that with pg_visibility, with the same result:
removing its VACUUM commands altogether changes nothing else in the
test output. I'm not sure this is a good thing. It makes one wonder
whether these tests really test what they claim to. But it certainly
explains the lack of failures.
> The amcheck TAP test is sensitive to commenting out the freeze, though:
> ...
> But the TAP test also disables autovacuum, so a background
> auto-analyze shouldn't be running. Maybe that's why you haven't
> seen amcheck fall over?
Ah, right, I see
$node->append_conf('postgresql.conf', 'autovacuum=off');
in 001_verify_heapam.pl. So that one's okay too.
Bottom line seems to be that converting pageinspect's test table
to a temp table should fix this. If no objections, I'll do that
tomorrow.
regards, tom lane