mirror of
https://github.com/postgres/postgres.git
synced 2026-05-28 04:35:45 -04:00
Fix flakiness in the pg_visibility VM-only vacuum test by using a temporary table.
The test relies on VACUUM being able to mark a page all-visible, but this can fail when autovacuum in other sessions prevents the visibility horizon from advancing. Making the test table temporary isolates its horizon from other sessions, including catalog table vacuums, ensuring reliable test behavior. Reported-by: Alexander Lakhin <exclusion@gmail.com> Author: Kirill Reshke <reshkekirill@gmail.com> Reviewed-by: Melanie Plageman <melanieplageman@gmail.com> Discussion: https://postgr.es/m/2b09fba6-6b71-497a-96ef-a6947fcc39f6%40gmail.com
This commit is contained in:
parent
12451d9d1f
commit
4a99ef1a0d
2 changed files with 2 additions and 2 deletions
|
|
@ -207,7 +207,7 @@ select pg_truncate_visibility_map('test_partition');
|
|||
|
||||
-- test the case where vacuum phase I does not need to modify the heap buffer
|
||||
-- and only needs to set the VM
|
||||
create table test_vac_unmodified_heap(a int);
|
||||
create temp table test_vac_unmodified_heap(a int);
|
||||
insert into test_vac_unmodified_heap values (1);
|
||||
vacuum (freeze) test_vac_unmodified_heap;
|
||||
select pg_visibility_map_summary('test_vac_unmodified_heap');
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ select pg_truncate_visibility_map('test_partition');
|
|||
|
||||
-- test the case where vacuum phase I does not need to modify the heap buffer
|
||||
-- and only needs to set the VM
|
||||
create table test_vac_unmodified_heap(a int);
|
||||
create temp table test_vac_unmodified_heap(a int);
|
||||
insert into test_vac_unmodified_heap values (1);
|
||||
vacuum (freeze) test_vac_unmodified_heap;
|
||||
select pg_visibility_map_summary('test_vac_unmodified_heap');
|
||||
|
|
|
|||
Loading…
Reference in a new issue