Re: pgsql: Prevent instability in contrib/pageinspect's regression test.

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2022-11-21T17:35:15Z
Lists: pgsql-hackers
I wrote:
> Andres Freund <andres@anarazel.de> writes:
>> Looks like a chunk of the buildfarm doesn't like this - presumably because
>> they use force_parallel_mode = regress. Seems ok to just force that to off in
>> this test?

> Ugh ... didn't occur to me to try that.  I'll take a look.

Hmm, so the problem is:

SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
ERROR:  cannot access temporary tables during a parallel operation

Why in the world is get_raw_page() marked as parallel safe?
It clearly isn't, given this restriction.

			regards, tom lane



Commits

  1. Mark pageinspect's disk-accessing functions as parallel restricted.

  2. Prevent instability in contrib/pageinspect's regression test.

  3. Set cutoff xmin more aggressively when vacuuming a temporary table.