Hello Melanie,
29.01.2026 01:16, Melanie Plageman wrote:
Thanks for the review!
I pushed v33 0001-0003 after incorporating your feedback.
The buildfarm animal scorpion has detected an instability of the addition
to pg_visibility from 21796c267 [1]:
80/82 postgresql:pg_visibility-running / pg_visibility-running/regress
ERROR 7.23s exit status 1
diff -U3 /home/bf/bf-build/scorpion/HEAD/pgsql/contrib/pg_visibility/expected/pg_visibility.out
/home/bf/bf-build/scorpion/HEAD/pgsql.build/testrun/pg_visibility-running/regress/results/pg_visibility.out
--- /home/bf/bf-build/scorpion/HEAD/pgsql/contrib/pg_visibility/expected/pg_visibility.out 2026-01-26 22:07:12.923378464
+0100
+++ /home/bf/bf-build/scorpion/HEAD/pgsql.build/testrun/pg_visibility-running/regress/results/pg_visibility.out
2026-01-28 20:15:13.802517085 +0100
@@ -213,7 +213,7 @@
select pg_visibility_map_summary('test_vac_unmodified_heap');
pg_visibility_map_summary
---------------------------
- (1,1)
+ (0,0)
(1 row)
-- the checkpoint cleans the buffer dirtied by freezing the sole tuple
@@ -237,7 +237,7 @@
FROM page_header(get_raw_page('test_vac_unmodified_heap', 0));
?column?
----------
- t
+ f
(1 row)
-- vacuum sets the VM
I've managed to reproduce it locally with the attached and:
echo "autovacuum_naptime = 1" > /tmp/temp.config
TEMP_CONFIG=/tmp/temp.config make -s check -C contrib/pg_visibility/
...
ok 85 - pg_visibility 30 ms
not ok 86 - pg_visibility 165 ms
ok 87 - pg_visibility 36 ms
...
# 1 of 100 tests failed.
Could you please look at this?
Probably you'll find [2] helpful.
[1]
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=scorpion&dt=2026-01-28%2019%3A07%3A32
[2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1c64d2fcb
Best regards,
Alexanderdiff --git a/contrib/pg_visibility/Makefile b/contrib/pg_visibility/Makefile
index e5a74f32c48..8e3434a808e 100644
--- a/contrib/pg_visibility/Makefile
+++ b/contrib/pg_visibility/Makefile
@@ -11,7 +11,7 @@ DATA = pg_visibility--1.1.sql pg_visibility--1.1--1.2.sql \
PGFILEDESC = "pg_visibility - page visibility information"
EXTRA_INSTALL = contrib/pageinspect
-REGRESS = pg_visibility
+REGRESS = $(shell printf 'pg_visibility %.0s' `seq 100`)
TAP_TESTS = 1
ifdef USE_PGXS
diff --git a/contrib/pg_visibility/expected/pg_visibility.out b/contrib/pg_visibility/expected/pg_visibility.out
index e10f1706015..1e444558ac8 100644
--- a/contrib/pg_visibility/expected/pg_visibility.out
+++ b/contrib/pg_visibility/expected/pg_visibility.out
@@ -1,5 +1,8 @@
-CREATE EXTENSION pg_visibility;
-CREATE EXTENSION pageinspect;
+SET client_min_messages TO 'warning';
+CREATE EXTENSION IF NOT EXISTS pg_visibility;
+CREATE EXTENSION IF NOT EXISTS pageinspect;
+DROP TABLE IF EXISTS test_vac_unmodified_heap;
+RESET client_min_messages;
--
-- recently-dropped table
--
diff --git a/contrib/pg_visibility/sql/pg_visibility.sql b/contrib/pg_visibility/sql/pg_visibility.sql
index 57af8a0c5b6..78fd52a0b73 100644
--- a/contrib/pg_visibility/sql/pg_visibility.sql
+++ b/contrib/pg_visibility/sql/pg_visibility.sql
@@ -1,5 +1,8 @@
-CREATE EXTENSION pg_visibility;
-CREATE EXTENSION pageinspect;
+SET client_min_messages TO 'warning';
+CREATE EXTENSION IF NOT EXISTS pg_visibility;
+CREATE EXTENSION IF NOT EXISTS pageinspect;
+DROP TABLE IF EXISTS test_vac_unmodified_heap;
+RESET client_min_messages;
--
-- recently-dropped table