diff --git a/contrib/pg_surgery/expected/heap_surgery.out b/contrib/pg_surgery/expected/heap_surgery.out index 9451c5747b..d4a757ffa0 100644 --- a/contrib/pg_surgery/expected/heap_surgery.out +++ b/contrib/pg_surgery/expected/heap_surgery.out @@ -1,8 +1,7 @@ create extension pg_surgery; -- create a normal heap table and insert some rows. --- note that we don't commit the transaction, so autovacuum can't interfere. -begin; -create table htab(a int); +-- use a temp table so that vacuum behavior doesn't depend on global xmin +create temp table htab (a int); insert into htab values (100), (200), (300), (400), (500); -- test empty TID array select heap_force_freeze('htab'::regclass, ARRAY[]::tid[]); @@ -85,9 +84,9 @@ NOTICE: skipping tid (0, 6) for relation "htab" because the item number is out (1 row) -rollback; -- set up a new table with a redirected line pointer -create table htab2(a int) with (autovacuum_enabled = off); +-- use a temp table so that vacuum behavior doesn't depend on global xmin +create temp table htab2(a int); insert into htab2 values (100); update htab2 set a = 200; vacuum htab2; @@ -175,6 +174,5 @@ ERROR: "vw" is not a table, materialized view, or TOAST table select heap_force_freeze('vw'::regclass, ARRAY['(0, 1)']::tid[]); ERROR: "vw" is not a table, materialized view, or TOAST table -- cleanup. -drop table htab2; drop view vw; drop extension pg_surgery; diff --git a/contrib/pg_surgery/sql/heap_surgery.sql b/contrib/pg_surgery/sql/heap_surgery.sql index 8a27214e9c..6526b27535 100644 --- a/contrib/pg_surgery/sql/heap_surgery.sql +++ b/contrib/pg_surgery/sql/heap_surgery.sql @@ -1,9 +1,8 @@ create extension pg_surgery; -- create a normal heap table and insert some rows. --- note that we don't commit the transaction, so autovacuum can't interfere. -begin; -create table htab(a int); +-- use a temp table so that vacuum behavior doesn't depend on global xmin +create temp table htab (a int); insert into htab values (100), (200), (300), (400), (500); -- test empty TID array @@ -38,10 +37,9 @@ select ctid, xmax from htab where xmin = 2; -- out-of-range TIDs should be skipped select heap_force_freeze('htab'::regclass, ARRAY['(0, 0)', '(0, 6)']::tid[]); -rollback; - -- set up a new table with a redirected line pointer -create table htab2(a int) with (autovacuum_enabled = off); +-- use a temp table so that vacuum behavior doesn't depend on global xmin +create temp table htab2(a int); insert into htab2 values (100); update htab2 set a = 200; vacuum htab2; @@ -86,6 +84,5 @@ select heap_force_kill('vw'::regclass, ARRAY['(0, 1)']::tid[]); select heap_force_freeze('vw'::regclass, ARRAY['(0, 1)']::tid[]); -- cleanup. -drop table htab2; drop view vw; drop extension pg_surgery;