diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2022-11-21 10:50:50 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2022-11-21 10:50:50 -0500 |
commit | ff9d27ee2b8bbf15ef974732671df9df662f0cf9 (patch) | |
tree | c28255b6bf2ac1c7b420301eee5c641e15f9e473 | |
parent | a0d35ebcc570265405a293e509dccbdf0fd5ee45 (diff) | |
download | postgresql-ff9d27ee2b8bbf15ef974732671df9df662f0cf9.tar.gz postgresql-ff9d27ee2b8bbf15ef974732671df9df662f0cf9.zip |
Prevent instability in contrib/pageinspect's regression test.
pageinspect has occasionally failed on slow buildfarm members,
with symptoms indicating that the expected effects of VACUUM
FREEZE didn't happen. This is presumably because a background
transaction such as auto-analyze was holding back global xmin.
We can work around that by using a temp table in the test.
Since commit a7212be8b, that will use an up-to-date cutoff xmin
regardless of other processes. And pageinspect itself shouldn't
really care whether the table is temp.
Back-patch to v14. There would be no point in older branches
without back-patching a7212be8b, which seems like more trouble
than the problem is worth.
Discussion: https://postgr.es/m/2892135.1668976646@sss.pgh.pa.us
-rw-r--r-- | contrib/pageinspect/expected/page.out | 3 | ||||
-rw-r--r-- | contrib/pageinspect/sql/page.sql | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out index 3bdc37bbf59..80ddb45a60a 100644 --- a/contrib/pageinspect/expected/page.out +++ b/contrib/pageinspect/expected/page.out @@ -1,5 +1,6 @@ CREATE EXTENSION pageinspect; -CREATE TABLE test1 (a int, b int); +-- Use a temp table so that effects of VACUUM are predictable +CREATE TEMP TABLE test1 (a int, b int); INSERT INTO test1 VALUES (16777217, 131584); VACUUM (DISABLE_PAGE_SKIPPING) test1; -- set up FSM -- The page contents can vary, so just test that it can be read diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql index b5c41cc8ac5..5bff568d3b5 100644 --- a/contrib/pageinspect/sql/page.sql +++ b/contrib/pageinspect/sql/page.sql @@ -1,6 +1,7 @@ CREATE EXTENSION pageinspect; -CREATE TABLE test1 (a int, b int); +-- Use a temp table so that effects of VACUUM are predictable +CREATE TEMP TABLE test1 (a int, b int); INSERT INTO test1 VALUES (16777217, 131584); VACUUM (DISABLE_PAGE_SKIPPING) test1; -- set up FSM |