PostgreSQL Patch Tester

Current commitfest | Next commitfest | FAQ | Statistics | Highlights

Highlight type: all assertion compiler core linker panic regress sanitizer tap test

Time range: current 7-day 30-day 90-day

This robot generates gigabytes of CI logs every week. Here is an attempt to search for "highlights", so it's easier to find actionable information quickly. New ideas for what patterns to search for are very welcome. "Current" shows only the most recent results from each submission. The wider time ranges also show information about historical versions, which may be useful for flapping tests, and also for hunting for bugs in master.

58/6516 Optional skipping of unchanged relations during ANALYZE?
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out C:/cirrus/build/testrun/...
--- C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:23.099988400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-02 13:22:28.65...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out C:/cirrus/build/testrun/...
--- C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:23.099988400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-02 13:25:16....
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out C:/cirrus/build/testrun/...
--- C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:23.099988400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-02 13:22:28.212778200 +0000
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/analyze_missing_stats_only.out /Users/admin/pgsql/build/testrun/pg...
--- /Users/admin/pgsql/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:17:48
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-02 13...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/analyze_missing_stats_only.out /Users/admin/pgsql/build/testrun/re...
--- /Users/admin/pgsql/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:17:48
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-02 ...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/analyze_missing_stats_only.out /Users/admin/pgsql/build/testrun/re...
--- /Users/admin/pgsql/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:17:48
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-02 13:23:22
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out C:/cirrus/build/testrun/...
--- C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:24.666639000 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-02 13:22:49.13...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out C:/cirrus/build/testrun/...
--- C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:24.666639000 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-02 13:25:44....
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out C:/cirrus/build/testrun/...
--- C:/cirrus/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:24.666639000 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-02 13:22:48.724493200 +0000
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/build/testru...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:17:32.311604735 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-02 ...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/build/testru...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:17:32.311604735 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-0...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/build/testru...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:17:32.311604735 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-02 13:21:00.551023...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/src/bin/pg_u...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:10.396803128 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/analyze_missing_stats_only.out	2026-03-02 13:24:55.6099160...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/src/test/rec...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:10.396803128 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/analyze_missing_stats_only.out	2026-03-02 13:26:14.23547961...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/src/test/reg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:10.396803128 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/analyze_missing_stats_only.out	2026-03-02 13:23:05.556356352 +0000
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:12.523095787 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:12.523095787 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-0...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:18:12.523095787 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-02 13:20:46.820...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out	Mon Mar  2 13:17:08 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	Mon Mar ...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out	Mon Mar  2 13:17:08 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	Mon Ma...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/regress/expected/analyze_missing_stats_only.out	Mon Mar  2 13:17:08 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/analyze_missing_stats_only.out	Mon Mar  2 13:20:29 202...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/build/testru...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:16:54.303320000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-02 ...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/build/testru...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:16:54.303320000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-0...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out /tmp/cirrus-ci-build/build/testru...
--- /tmp/cirrus-ci-build/src/test/regress/expected/analyze_missing_stats_only.out	2026-03-02 13:16:54.303320000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-02 13:20:10.915790...
@@ -33,65 +33,7 @@
 SELECT count(*) AS stat_rows
 FROM pg_statistic
 WHERE starelid = 'ms1'::regclass;
- stat_rows 
------------
-         1
-(1 row)
-
--- 4. Add new column → missing stats for column b
-ALTER TABLE ms1 ADD COLUMN b int;
--- Should analyze again
-ANALYZE (MISSING_STATS_ONLY) ms1;
--- Now both columns should have stats
-SELECT count(*) AS stat_rows
-FROM pg_statistic
-WHERE starelid = 'ms1'::regclass;
...
58/6418 Reduce build times of pg_trgm GIN indexes
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_trgm/expected/pg_trgm.out C:/cirrus/build/testrun/pg_trgm/regress/resu...
--- C:/cirrus/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:51:56.608155600 +0000
+++ C:/cirrus/build/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-02 13:00:43.975349700 +0000
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_trgm/expected/pg_trgm.out C:/cirrus/build/testrun/pg_trgm/regress/resu...
--- C:/cirrus/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:50:04.266168300 +0000
+++ C:/cirrus/build/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-02 12:58:50.284384300 +0000
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out /tmp/cirrus-ci-build/build/testrun/pg_trgm/regress/re...
--- /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:50:14.147543050 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-02 12:54:23.938629733 +0000
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/contrib/pg_trgm/expected/pg_trgm.out /Users/admin/pgsql/build/testrun/pg_trgm/regress/result...
--- /Users/admin/pgsql/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:49:57
+++ /Users/admin/pgsql/build/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-02 12:58:10
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out /tmp/cirrus-ci-build/contrib/pg_trgm/results/pg_trgm....
--- /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:50:12.350492835 +0000
+++ /tmp/cirrus-ci-build/contrib/pg_trgm/results/pg_trgm.out	2026-03-02 12:54:33.110017916 +0000
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_trgm/expected/pg_trgm.out /home/postgres/postgres/build/testrun/pg_trgm/regr...
--- /home/postgres/postgres/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:50:18.270923821 +0000
+++ /home/postgres/postgres/build/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-02 12:52:58.807758833 +0000
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_trgm/expected/pg_trgm.out /home/postgres/postgres/build/testrun/pg_trgm/regr...
--- /home/postgres/postgres/contrib/pg_trgm/expected/pg_trgm.out	Mon Mar  2 12:51:06 2026
+++ /home/postgres/postgres/build/testrun/pg_trgm/regress/results/pg_trgm.out	Mon Mar  2 12:55:55 2026
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out /tmp/cirrus-ci-build/build/testrun/pg_trgm/regress/re...
--- /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out	2026-03-02 12:49:46.690430000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-02 12:53:09.046557000 +0000
@@ -22,5429 +22,7 @@
 (1 row)
 
 select show_trgm('a b c');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm(' a b c ');
-               show_trgm               
----------------------------------------
- {"  a","  b","  c"," a "," b "," c "}
-(1 row)
-
-select show_trgm('aA bB cC');
-                        show_trgm                        
...
58/6454 Use correct collation in pg_trgm
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_trgm/expected/pg_trgm_collation_1.out C:/cirrus/build/testrun/pg_trgm/...
--- C:/cirrus/contrib/pg_trgm/expected/pg_trgm_collation_1.out	2026-03-02 12:47:54.379193700 +0000
+++ C:/cirrus/build/testrun/pg_trgm/regress/results/pg_trgm_collation.out	2026-03-02 12:56:48.204707900 +0000
@@ -7,4 +7,3 @@
        AS skip_test \gset
 \if :skip_test
 \quit
-\endif
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_trgm/expected/pg_trgm_collation_1.out C:/cirrus/build/testrun/pg_trgm/...
--- C:/cirrus/contrib/pg_trgm/expected/pg_trgm_collation_1.out	2026-03-02 12:46:56.373137000 +0000
+++ C:/cirrus/build/testrun/pg_trgm/regress/results/pg_trgm_collation.out	2026-03-02 12:56:25.170840300 +0000
@@ -7,4 +7,3 @@
        AS skip_test \gset
 \if :skip_test
 \quit
-\endif
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm_collation_1.out /tmp/cirrus-ci-build/build-32/testrun/pg_...
--- /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm_collation_1.out	2026-03-02 12:46:08.476375700 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_trgm/regress/results/pg_trgm_collation.out	2026-03-02 12:56:50.159680342 +0...
@@ -7,4 +7,3 @@
        AS skip_test \gset
 \if :skip_test
 \quit
-\endif
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_trgm/expected/pg_trgm_collation_1.out /home/postgres/postgres/build/testrun/...
--- /home/postgres/postgres/contrib/pg_trgm/expected/pg_trgm_collation_1.out	2026-03-02 12:47:29.646824623 +0000
+++ /home/postgres/postgres/build/testrun/pg_trgm/regress/results/pg_trgm_collation.out	2026-03-02 12:50:07.993545752 +0...
@@ -7,4 +7,3 @@
        AS skip_test \gset
 \if :skip_test
 \quit
-\endif
58/6274 Add a greedy join search algorithm to handle large join problems
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/goo.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade...
--- /Users/admin/pgsql/src/test/regress/expected/goo.out	2026-03-02 11:17:57
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:23:36
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/goo.out /Users/admin/pgsql/build/testrun/recovery/027_stream_regre...
--- /Users/admin/pgsql/src/test/regress/expected/goo.out	2026-03-02 11:17:57
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:25:38
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/goo.out /Users/admin/pgsql/build/testrun/regress/regress/results/g...
--- /Users/admin/pgsql/src/test/regress/expected/goo.out	2026-03-02 11:17:57
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/goo.out	2026-03-02 11:23:37
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upgra...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:47.939552400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:20:53.481459000 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/recovery/027_stream_reg...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:47.939552400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:23:56.620532700 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/regress/regress/results...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:47.939552400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/goo.out	2026-03-02 11:20:52.775430500 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upgra...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:48.618336900 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:21:31.562943200 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/recovery/027_stream_reg...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:48.618336900 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:24:48.568317400 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/regress/regress/results...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:48.618336900 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/goo.out	2026-03-02 11:21:31.688918200 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:53.890345522 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:19:58.419402437 +000...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:53.890345522 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:21:20.778691400 +0...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/regress/regress/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:53.890345522 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/goo.out	2026-03-02 11:19:59.343149722 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/result...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:45.388298959 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/goo.out	2026-03-02 11:23:38.219641470 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:45.388298959 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/goo.out	2026-03-02 11:25:01.687475289 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/src/test/regress/results/goo.out
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:45.388298959 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/goo.out	2026-03-02 11:21:24.927802380 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/pg_upgrade/002_...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	2026-03-02 11:18:02.093528208 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:19:43.425470375 +...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/recovery/027_st...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	2026-03-02 11:18:02.093528208 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:20:23.017451995...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/regress/regress...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	2026-03-02 11:18:02.093528208 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/goo.out	2026-03-02 11:19:36.849688660 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/pg_upgrade/002_...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	Mon Mar  2 11:17:55 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	Mon Mar  2 11:20:33 2026
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/recovery/027_st...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	Mon Mar  2 11:17:55 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/goo.out	Mon Mar  2 11:22:54 2026
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/regress/regress...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	Mon Mar  2 11:17:55 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/goo.out	Mon Mar  2 11:20:28 2026
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:52.752853000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:20:11.291661000 +000...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:52.752853000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:21:35.212239000 +0...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/regress/regress/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:17:52.752853000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/goo.out	2026-03-02 11:20:06.068880000 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upgra...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:18:22.426069100 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:21:17.760645100 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/recovery/027_stream_reg...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:18:22.426069100 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:24:10.915508400 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/regress/regress/results...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:18:22.426069100 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/goo.out	2026-03-02 11:21:17.572667900 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:18.508753871 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:20:36.208864764 +000...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:18.508753871 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:22:03.885012558 +0...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/regress/regress/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:18.508753871 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/goo.out	2026-03-02 11:20:36.200865410 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/goo.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade...
--- /Users/admin/pgsql/src/test/regress/expected/goo.out	2026-03-02 11:17:46
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:20:53
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/goo.out /Users/admin/pgsql/build/testrun/recovery/027_stream_regre...
--- /Users/admin/pgsql/src/test/regress/expected/goo.out	2026-03-02 11:17:46
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:23:00
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/goo.out /Users/admin/pgsql/build/testrun/regress/regress/results/g...
--- /Users/admin/pgsql/src/test/regress/expected/goo.out	2026-03-02 11:17:46
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/goo.out	2026-03-02 11:20:57
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upgra...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:59.475528400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:21:46.658138200 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/recovery/027_stream_reg...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:59.475528400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:25:11.483716000 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/goo.out C:/cirrus/build/testrun/regress/regress/results...
--- C:/cirrus/src/test/regress/expected/goo.out	2026-03-02 11:17:59.475528400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/goo.out	2026-03-02 11:21:46.751892600 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/pg_upgrade/002_...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	2026-03-02 11:18:40.285476668 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:20:30.052641663 +...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/recovery/027_st...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	2026-03-02 11:18:40.285476668 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:21:18.869777349...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/regress/regress...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	2026-03-02 11:18:40.285476668 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/goo.out	2026-03-02 11:20:29.861374071 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:02.787416000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-02 11:20:15.893008000 +000...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:02.787416000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-02 11:21:54.882926000 +0...
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/build/testrun/regress/regress/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:02.787416000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/goo.out	2026-03-02 11:20:23.103360000 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/pg_upgrade/002_...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	Mon Mar  2 11:18:12 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	Mon Mar  2 11:20:37 2026
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/recovery/027_st...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	Mon Mar  2 11:18:12 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/goo.out	Mon Mar  2 11:22:42 2026
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/goo.out /home/postgres/postgres/build/testrun/regress/regress...
--- /home/postgres/postgres/src/test/regress/expected/goo.out	Mon Mar  2 11:18:12 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/goo.out	Mon Mar  2 11:20:29 2026
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/result...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:18.800492688 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/goo.out	2026-03-02 11:24:01.199832494 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results...
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:18.800492688 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/goo.out	2026-03-02 11:25:17.395799444 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/goo.out /tmp/cirrus-ci-build/src/test/regress/results/goo.out
--- /tmp/cirrus-ci-build/src/test/regress/expected/goo.out	2026-03-02 11:18:18.800492688 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/goo.out	2026-03-02 11:21:33.431944952 +0000
@@ -139,8 +139,8 @@
 JOIN dim3 ON fact.dim3_id = dim3.id
 JOIN dim4 ON fact.dim4_id = dim4.id
 WHERE dim1.id < 5;
-                             QUERY PLAN                              
----------------------------------------------------------------------
+                                QUERY PLAN                                 
+---------------------------------------------------------------------------
  Aggregate
    ->  Nested Loop
          Join Filter: (fact.dim4_id = dim4.id)
@@ -149,15 +149,15 @@
                ->  Seq Scan on dim3
                ->  Hash
                      ->  Hash Join
-                           Hash Cond: (fact.dim1_id = dim1.id)
-                           ->  Hash Join
...
58/6528 Fix estimate_hash_bucket_stats avgfreq computation
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_up...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:11:54.273723430 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	2026-03-02 09:13:38.467222563 +00...
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:11:54.273723430 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/join.out	2026-03-02 09:15:04.839169634 +...
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/regress/regress/resu...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:11:54.273723430 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/join.out	2026-03-02 09:13:37.503243822 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/join.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upgr...
--- C:/cirrus/src/test/regress/expected/join.out	2026-03-02 09:12:07.617697500 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	2026-03-02 09:15:07.039192400 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/join.out C:/cirrus/build/testrun/recovery/027_stream_re...
--- C:/cirrus/src/test/regress/expected/join.out	2026-03-02 09:12:07.617697500 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/join.out	2026-03-02 09:18:06.176525600 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/join.out C:/cirrus/build/testrun/regress/regress/result...
--- C:/cirrus/src/test/regress/expected/join.out	2026-03-02 09:12:07.617697500 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/join.out	2026-03-02 09:15:00.816052000 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/join.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upgr...
--- C:/cirrus/src/test/regress/expected/join.out	2026-03-02 09:12:08.054517100 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	2026-03-02 09:15:28.857971500 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/join.out C:/cirrus/build/testrun/recovery/027_stream_re...
--- C:/cirrus/src/test/regress/expected/join.out	2026-03-02 09:12:08.054517100 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/join.out	2026-03-02 09:19:03.319837500 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/join.out C:/cirrus/build/testrun/regress/regress/result...
--- C:/cirrus/src/test/regress/expected/join.out	2026-03-02 09:12:08.054517100 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/join.out	2026-03-02 09:15:19.376041500 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/join.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrad...
--- /Users/admin/pgsql/src/test/regress/expected/join.out	2026-03-02 09:11:35
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	2026-03-02 09:13:55
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/join.out /Users/admin/pgsql/build/testrun/recovery/027_stream_regr...
--- /Users/admin/pgsql/src/test/regress/expected/join.out	2026-03-02 09:11:35
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/join.out	2026-03-02 09:16:17
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/join.out /Users/admin/pgsql/build/testrun/regress/regress/results/...
--- /Users/admin/pgsql/src/test/regress/expected/join.out	2026-03-02 09:11:35
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/join.out	2026-03-02 09:13:44
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/join.out /home/postgres/postgres/build/testrun/pg_upgrade/002...
--- /home/postgres/postgres/src/test/regress/expected/join.out	Mon Mar  2 09:12:07 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	Mon Mar  2 09:14:14 2026
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/join.out /home/postgres/postgres/build/testrun/recovery/027_s...
--- /home/postgres/postgres/src/test/regress/expected/join.out	Mon Mar  2 09:12:07 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/join.out	Mon Mar  2 09:16:06 2026
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/join.out /home/postgres/postgres/build/testrun/regress/regres...
--- /home/postgres/postgres/src/test/regress/expected/join.out	Mon Mar  2 09:12:07 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/join.out	Mon Mar  2 09:14:04 2026
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_up...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:12:24.453232000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	2026-03-02 09:14:04.885098000 +00...
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:12:24.453232000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/join.out	2026-03-02 09:15:23.151240000 +...
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/regress/regress/resu...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:12:24.453232000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/join.out	2026-03-02 09:14:06.113235000 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/join.out /home/postgres/postgres/build/testrun/pg_upgrade/002...
--- /home/postgres/postgres/src/test/regress/expected/join.out	2026-03-02 09:12:19.333918069 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/join.out	2026-03-02 09:13:42.935198015 ...
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/join.out /home/postgres/postgres/build/testrun/recovery/027_s...
--- /home/postgres/postgres/src/test/regress/expected/join.out	2026-03-02 09:12:19.333918069 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/join.out	2026-03-02 09:14:17.04884219...
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/join.out /home/postgres/postgres/build/testrun/regress/regres...
--- /home/postgres/postgres/src/test/regress/expected/join.out	2026-03-02 09:12:19.333918069 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/join.out	2026-03-02 09:13:36.387911142 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:11:39.026275251 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/join.out	2026-03-02 09:18:30.711655936 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/result...
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:11:39.026275251 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/join.out	2026-03-02 09:19:59.783608426 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/src/test/regress/results/join.out
--- /tmp/cirrus-ci-build/src/test/regress/expected/join.out	2026-03-02 09:11:39.026275251 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/join.out	2026-03-02 09:15:59.951582661 +0000
@@ -10079,16 +10079,16 @@
 select * from hjbucket h1
   join hjbucket h2 on h1.val = h2.val
   where h1.filt = 5;
-                        QUERY PLAN                        
-----------------------------------------------------------
+                     QUERY PLAN                     
+----------------------------------------------------
  Hash Join
-   Hash Cond: (h2.val = h1.val)
-   ->  Seq Scan on hjbucket h2
+   Hash Cond: (h1.val = h2.val)
+   ->  Bitmap Heap Scan on hjbucket h1
+         Recheck Cond: (filt = 5)
+         ->  Bitmap Index Scan on hjbucket_filt_idx
+               Index Cond: (filt = 5)
    ->  Hash
...
58/6423 Align verify_heapam.c error message offset with test expectations
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/isolation/expected/timeouts.out /home/postgres/postgres/build/testrun/isolatio...
--- /home/postgres/postgres/src/test/isolation/expected/timeouts.out	Mon Mar  2 06:58:42 2026
+++ /home/postgres/postgres/build/testrun/isolation/isolation/results/timeouts.out	Mon Mar  2 07:02:04 2026
@@ -11,7 +11,7 @@
 step sto: SET statement_timeout = '10ms';
 step locktbl: LOCK TABLE accounts; <waiting ...>
 step locktbl: <... completed>
-ERROR:  canceling statement due to statement timeout
+ERROR:  canceling statement due to user request
 
 starting permutation: rdtbl lto locktbl
 step rdtbl: SELECT * FROM accounts;
58/6184 pg_plan_advice
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_plan_advice/expected/join_order.out C:/cirrus/build/testrun/pg_plan_ad...
--- C:/cirrus/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:34:20.078894800 +0000
+++ C:/cirrus/build/testrun/pg_plan_advice/regress/results/join_order.out	2026-03-01 20:44:01.153078100 +0000
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_plan_advice/expected/join_order.out C:/cirrus/build/testrun/pg_plan_ad...
--- C:/cirrus/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:35:21.679666300 +0000
+++ C:/cirrus/build/testrun/pg_plan_advice/regress/results/join_order.out	2026-03-01 20:44:57.554325900 +0000
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/contrib/pg_plan_advice/expected/join_order.out /Users/admin/pgsql/build/testrun/pg_plan_advi...
--- /Users/admin/pgsql/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:34:11
+++ /Users/admin/pgsql/build/testrun/pg_plan_advice/regress/results/join_order.out	2026-03-01 20:39:20
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_plan_advice/expected/join_order.out /tmp/cirrus-ci-build/build/testrun/pg_plan_...
--- /tmp/cirrus-ci-build/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:34:06.342485715 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_plan_advice/regress/results/join_order.out	2026-03-01 20:39:13.742944284 +0000
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_plan_advice/expected/join_order.out /home/postgres/postgres/build/testrun/pg...
--- /home/postgres/postgres/contrib/pg_plan_advice/expected/join_order.out	Sun Mar  1 20:34:12 2026
+++ /home/postgres/postgres/build/testrun/pg_plan_advice/regress/results/join_order.out	Sun Mar  1 20:40:02 2026
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_plan_advice/expected/join_order.out /tmp/cirrus-ci-build/contrib/pg_plan_advice...
--- /tmp/cirrus-ci-build/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:33:07.166593484 +0000
+++ /tmp/cirrus-ci-build/contrib/pg_plan_advice/results/join_order.out	2026-03-01 20:38:34.726766929 +0000
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_plan_advice/expected/join_order.out /home/postgres/postgres/build/testrun/pg...
--- /home/postgres/postgres/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:33:39.741566485 +0000
+++ /home/postgres/postgres/build/testrun/pg_plan_advice/regress/results/join_order.out	2026-03-01 20:37:04.065755042 +0...
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_plan_advice/expected/join_order.out /tmp/cirrus-ci-build/build/testrun/pg_plan_...
--- /tmp/cirrus-ci-build/contrib/pg_plan_advice/expected/join_order.out	2026-03-01 20:33:20.647836000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_plan_advice/regress/results/join_order.out	2026-03-01 20:37:49.921199000 +0000
@@ -140,15 +140,12 @@
 	LEFT JOIN jo_dim1 d1 ON f.dim1_id = d1.id
 	LEFT JOIN jo_dim2 d2 ON f.dim2_id = d2.id
 	WHERE val1 = 1 AND val2 = 1;
-                         QUERY PLAN                          
--------------------------------------------------------------
- Merge Join
-   Merge Cond: ((f.dim2_id = d2.id) AND (f.dim1_id = d1.id))
-   ->  Sort
-         Sort Key: f.dim2_id, f.dim1_id
-         ->  Seq Scan on jo_fact f
-   ->  Sort
-         Sort Key: d2.id, d1.id
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Hash Join
+   Hash Cond: ((f.dim1_id = d1.id) AND (f.dim2_id = d2.id))
...
58/6054 let ALTER COLUMN SET DATA TYPE cope with POLICY dependency
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/regress/regress/r...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-03-01 17:53:24
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/rowsecurity.out	2026-03-01 17:56:43
@@ -423,15 +423,15 @@
 --------------------+----------+-------+----------------------------------------------+-------------------+------------...
  regress_rls_schema | category | table | regress_rls_alice=arwdDxtm/regress_rls_alice+|                   | 
                     |          |       | =arwdDxtm/regress_rls_alice                  |                   | 
- regress_rls_schema | document | table | regress_rls_alice=arwdDxtm/regress_rls_alice+|                   | p1:        ...
-                    |          |       | =arwdDxtm/regress_rls_alice                  |                   |   (u): (dle...
+ regress_rls_schema | document | table | regress_rls_alice=arwdDxtm/regress_rls_alice+|                   | p1r (RESTRI...
+                    |          |       | =arwdDxtm/regress_rls_alice                  |                   |   (u): (cid...
+                    |          |       |                                              |                   |   to: regre...
+                    |          |       |                                              |                   | p1:        ...
+                    |          |       |                                              |                   |   (u): (dle...
                     |          |       |                                              |                   |    FROM uac...
                     |          |       |                                              |                   |   WHERE (ua...
                     |          |       |                                              |                   | p2r (RESTRI...
                     |          |       |                                              |                   |   (u): ((ci...
-                    |          |       |                                              |                   |   to: regre...
-                    |          |       |                                              |                   | p1r (RESTRI...
...
58/6553 Decorrelate nested tuple hash tables
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/union.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_u...
--- /tmp/cirrus-ci-build/src/test/regress/expected/union.out	2026-03-01 17:48:52.198844000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/union.out	2026-03-01 17:50:30.504716000 +0...
@@ -550,9 +550,9 @@
 select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x)...
    x   
 -------
+ {1,2}
  {1,4}
  {1,3}
- {1,2}
 (3 rows)
 
 explain (costs off)
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/union.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream...
--- /tmp/cirrus-ci-build/src/test/regress/expected/union.out	2026-03-01 17:48:52.198844000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/union.out	2026-03-01 17:51:42.835505000 ...
@@ -550,9 +550,9 @@
 select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x)...
    x   
 -------
+ {1,2}
  {1,4}
  {1,3}
- {1,2}
 (3 rows)
 
 explain (costs off)
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/union.out /tmp/cirrus-ci-build/build/testrun/regress/regress/res...
--- /tmp/cirrus-ci-build/src/test/regress/expected/union.out	2026-03-01 17:48:52.198844000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/union.out	2026-03-01 17:50:29.798719000 +0000
@@ -550,9 +550,9 @@
 select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x)...
    x   
 -------
+ {1,2}
  {1,4}
  {1,3}
- {1,2}
 (3 rows)
 
 explain (costs off)
58/6391 Use CASEFOLD() internally rather than LOWER()
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/citext/expected/create_index_acl.out C:/cirrus/build/testrun/citext/regre...
--- C:/cirrus/contrib/citext/expected/create_index_acl.out	2026-03-01 14:40:37.191051600 +0000
+++ C:/cirrus/build/testrun/citext/regress/results/create_index_acl.out	2026-03-01 14:50:14.136483700 +0000
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out C:/cirrus/build/testrun/dict_xsyn/regres...
--- C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out	2026-03-01 14:40:37.236479500 +0000
+++ C:/cirrus/build/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-03-01 14:50:18.865975600 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "C:/cirrus/build/tmp_install/usr/local/pgsql/share/tsearch_data/xsyn_sample.rule...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out C:/cirrus/build/testrun/postgres_f...
--- C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-01 14:40:37.633913600 +0000
+++ C:/cirrus/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-03-01 14:50:45.260988300 +0000
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/recovery/027_stream...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-03-01 14:40:41.948305600 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/strings.out	2026-03-01 14:48:05.984635900 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/regress/regress/res...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-03-01 14:40:41.948305600 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/strings.out	2026-03-01 14:45:05.454867600 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/test_parser/expected/test_parser.out C:/cirrus/build/testrun/tes...
--- C:/cirrus/src/test/modules/test_parser/expected/test_parser.out	2026-03-01 14:40:41.612836100 +0000
+++ C:/cirrus/build/testrun/test_parser/regress/results/test_parser.out	2026-03-01 14:51:07.272699900 +0000
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/citext/expected/create_index_acl.out C:/cirrus/build/testrun/citext/regre...
--- C:/cirrus/contrib/citext/expected/create_index_acl.out	2026-03-01 14:40:37.217859800 +0000
+++ C:/cirrus/build/testrun/citext/regress/results/create_index_acl.out	2026-03-01 14:49:07.720987000 +0000
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out C:/cirrus/build/testrun/dict_xsyn/regres...
--- C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out	2026-03-01 14:40:37.261789000 +0000
+++ C:/cirrus/build/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-03-01 14:49:12.732220500 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "C:/cirrus/build/tmp_install/usr/local/pgsql/share/tsearch_data/xsyn_sample.rule...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out C:/cirrus/build/testrun/postgres_f...
--- C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-01 14:40:37.669615200 +0000
+++ C:/cirrus/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-03-01 14:49:52.817664900 +0000
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/recovery/027_stream...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-03-01 14:40:42.192129500 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/strings.out	2026-03-01 14:46:45.013500300 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/regress/regress/res...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-03-01 14:40:42.192129500 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/strings.out	2026-03-01 14:43:19.044316100 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/test_parser/expected/test_parser.out C:/cirrus/build/testrun/tes...
--- C:/cirrus/src/test/modules/test_parser/expected/test_parser.out	2026-03-01 14:40:41.833253500 +0000
+++ C:/cirrus/build/testrun/test_parser/regress/results/test_parser.out	2026-03-01 14:50:11.881614700 +0000
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/citext/expected/create_index_acl.out /tmp/cirrus-ci-build/build-32/testrun/citext/...
--- /tmp/cirrus-ci-build/contrib/citext/expected/create_index_acl.out	2026-03-01 14:40:41.964889881 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/citext/regress/results/create_index_acl.out	2026-03-01 14:52:46.424458450 +000...
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/dict_xsyn/expected/dict_xsyn.out /tmp/cirrus-ci-build/build-32/testrun/dict_xsyn/r...
--- /tmp/cirrus-ci-build/contrib/dict_xsyn/expected/dict_xsyn.out	2026-03-01 14:40:41.972889881 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-03-01 14:52:50.468458244 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "/tmp/cirrus-ci-build/build-32/tmp_install/usr/local/pgsql/share/tsearch_data/xs...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out /tmp/cirrus-ci-build/build-32/testrun/postg...
--- /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-01 14:40:42.052889878 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-03-01 14:53:28.740456347 +0...
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out /tmp/cirrus-ci-build/build-32/testrun/recovery/027_s...
--- /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out	2026-03-01 14:40:43.844889809 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/recovery/027_stream_regress/data/results/tstypes.out	2026-03-01 14:51:53.21246...
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out /tmp/cirrus-ci-build/build-32/testrun/regress/regres...
--- /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out	2026-03-01 14:40:43.844889809 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/regress/regress/results/tstypes.out	2026-03-01 14:50:18.336467414 +0000
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_parser/expected/test_parser.out /tmp/cirrus-ci-build/build-32/testru...
--- /tmp/cirrus-ci-build/src/test/modules/test_parser/expected/test_parser.out	2026-03-01 14:40:43.688889815 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_parser/regress/results/test_parser.out	2026-03-01 14:53:43.588455635 +000...
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/citext/expected/create_index_acl.out /home/postgres/postgres/build/testrun/cite...
--- /home/postgres/postgres/contrib/citext/expected/create_index_acl.out	2026-03-01 14:40:47.295288821 +0000
+++ /home/postgres/postgres/build/testrun/citext/regress/results/create_index_acl.out	2026-03-01 14:44:10.016356700 +000...
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff -U3 /home/postgres/postgres/contrib/dict_xsyn/expected/dict_xsyn.out /home/postgres/postgres/build/testrun/dict_xsy...
--- /home/postgres/postgres/contrib/dict_xsyn/expected/dict_xsyn.out	2026-03-01 14:40:47.375340133 +0000
+++ /home/postgres/postgres/build/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-03-01 14:44:11.138391846 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "/home/postgres/postgres/build/tmp_install/usr/local/pgsql/share/tsearch_data/xs...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff -U3 /home/postgres/postgres/contrib/postgres_fdw/expected/postgres_fdw.out /home/postgres/postgres/build/testrun/po...
--- /home/postgres/postgres/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-01 14:40:48.115385856 +0000
+++ /home/postgres/postgres/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-03-01 14:44:24.477254446 +0...
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/tstypes.out /home/postgres/postgres/build/testrun/recovery/02...
--- /home/postgres/postgres/src/test/regress/expected/tstypes.out	2026-03-01 14:40:56.051469592 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/tstypes.out	2026-03-01 14:43:29.34969...
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/tstypes.out /home/postgres/postgres/build/testrun/regress/reg...
--- /home/postgres/postgres/src/test/regress/expected/tstypes.out	2026-03-01 14:40:56.051469592 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/tstypes.out	2026-03-01 14:42:58.132339590 +0000
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /home/postgres/postgres/src/test/modules/test_parser/expected/test_parser.out /home/postgres/postgres/build/tes...
--- /home/postgres/postgres/src/test/modules/test_parser/expected/test_parser.out	2026-03-01 14:40:55.399319439 +0000
+++ /home/postgres/postgres/build/testrun/test_parser/regress/results/test_parser.out	2026-03-01 14:44:31.466810683 +000...
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
58/6352 Improve performance of tuple deformation
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/amcheck/expected/check_btree.out /tmp/cirrus-ci-build/build-32/testrun/amcheck/reg...
--- /tmp/cirrus-ci-build/contrib/amcheck/expected/check_btree.out	2026-03-01 13:36:32.371116561 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/amcheck/regress/results/check_btree.out	2026-03-01 13:50:49.307741072 +0000
@@ -168,6 +168,8 @@
 -- pg_attribute entry for toasty.buggy (the index) will have plain storage:
 UPDATE pg_attribute SET attstorage = 'p'
 WHERE attrelid = 'toasty'::regclass AND attname = 'buggy';
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x585a6920, chunk 0x585a80f8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x585a6920, chunk 0x585a80f8
 -- Whereas pg_attribute entry for toast_bug.buggy (the table) still has extended storage:
 SELECT attstorage FROM pg_attribute
 WHERE attrelid = 'toast_bug'::regclass AND attname = 'buggy';
@@ -235,14 +237,19 @@
 -- Check that null values in an unique index are not treated as equal
 CREATE TABLE bttest_unique_nulls (a serial, b int, c int UNIQUE);
 INSERT INTO bttest_unique_nulls VALUES (generate_series(1, 10000), 2, default);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586e1200, chunk 0x586e1720
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586e1200, chunk 0x586e1720
 SELECT bt_index_check('bttest_unique_nulls_c_key', heapallindexed => true, checkunique => true);
+WARNING:  detected write past chunk end in ExprContext 0x5862b7b8
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/bloom/expected/bloom.out /tmp/cirrus-ci-build/build-32/testrun/bloom/regress/resul...
--- /tmp/cirrus-ci-build/contrib/bloom/expected/bloom.out	2026-03-01 13:36:32.379080044 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/bloom/regress/results/bloom.out	2026-03-01 13:50:44.963724419 +0000
@@ -217,6 +217,8 @@
 DROP INDEX bloomidx;
 CREATE INDEX bloomidx ON tst USING bloom (i, t) WITH (length=7, col1=4);
 SELECT reloptions FROM pg_class WHERE oid = 'bloomidx'::regclass;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58557b80, chunk 0x58557eb0
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58557b80, chunk 0x58557eb0
     reloptions     
 -------------------
  {length=7,col1=4}
regress
diff -U3 /tmp/cirrus-ci-build/contrib/btree_gin/expected/bool.out /tmp/cirrus-ci-build/build-32/testrun/btree_gin/regres...
--- /tmp/cirrus-ci-build/contrib/btree_gin/expected/bool.out	2026-03-01 13:36:32.383061786 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/btree_gin/regress/results/bool.out	2026-03-01 13:50:49.763742825 +0000
@@ -4,6 +4,7 @@
 );
 INSERT INTO test_bool VALUES (false),(true),(null);
 CREATE INDEX idx_bool ON test_bool USING gin (i);
+WARNING:  detected write past chunk end in PortalContext 0x59ebbb3c
 SELECT * FROM test_bool WHERE i<true ORDER BY i;
  i 
 ---
regress
diff -U3 /tmp/cirrus-ci-build/contrib/btree_gist/expected/int2.out /tmp/cirrus-ci-build/build-32/testrun/btree_gist/regr...
--- /tmp/cirrus-ci-build/contrib/btree_gist/expected/int2.out	2026-03-01 13:36:32.398988753 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/btree_gist/regress/results/int2.out	2026-03-01 13:50:47.555734346 +0000
@@ -3,36 +3,48 @@
 \copy int2tmp from 'data/int2.data'
 SET enable_seqscan=on;
 SELECT count(*) FROM int2tmp WHERE a <  237;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58e6d010, chunk 0x58e6d684
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58e6d010, chunk 0x58e6d684
  count 
 -------
    297
 (1 row)
 
 SELECT count(*) FROM int2tmp WHERE a <= 237;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58e6d010, chunk 0x58e6d684
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58e6d010, chunk 0x58e6d684
  count 
 -------
    298
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/citext/expected/create_index_acl.out /tmp/cirrus-ci-build/build-32/testrun/citext/...
--- /tmp/cirrus-ci-build/contrib/citext/expected/create_index_acl.out	2026-03-01 13:36:32.406952237 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/citext/regress/results/create_index_acl.out	2026-03-01 13:50:47.719734974 +000...
@@ -11,6 +11,7 @@
 BEGIN;
 CREATE ROLE regress_minimal;
 CREATE SCHEMA s;
+WARNING:  detected write past chunk end in PortalContext 0x5901881c
 CREATE EXTENSION citext SCHEMA s;
 -- Revoke all conceivably-relevant ACLs within the extension.  The system
 -- doesn't check all these ACLs, but this will provide some coverage if that
diff -U3 /tmp/cirrus-ci-build/contrib/citext/expected/citext.out /tmp/cirrus-ci-build/build-32/testrun/citext/regress/re...
--- /tmp/cirrus-ci-build/contrib/citext/expected/citext.out	2026-03-01 13:36:32.402970494 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/citext/regress/results/citext.out	2026-03-01 13:50:48.299737200 +0000
@@ -215,6 +215,12 @@
 CREATE TEMP TABLE try (
    name citext PRIMARY KEY
 );
+WARNING:  detected write past chunk end in PortalContext 0x590c0d8c
+LINE 1: CREATE TEMP TABLE try (
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/commit_ts/expected/commit_timestamp_1.out /tmp/cirrus-ci-build/build-32/t...
--- /tmp/cirrus-ci-build/src/test/modules/commit_ts/expected/commit_timestamp_1.out	2026-03-01 13:36:34.171619845 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/commit_ts/regress/results/commit_timestamp.out	2026-03-01 13:51:29.687899378 +...
@@ -43,6 +43,8 @@
 HINT:  Make sure the configuration parameter "track_commit_timestamp" is set.
 -- Test non-normal transaction ids.
 SELECT * FROM pg_xact_commit_timestamp_origin(NULL); -- ok, NULL
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a0da040, chunk 0x5a0dad1c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a0da040, chunk 0x5a0dad1c
  timestamp | roident 
 -----------+---------
            |        
@@ -51,12 +53,16 @@
 SELECT * FROM pg_xact_commit_timestamp_origin('0'::xid); -- error
 ERROR:  cannot retrieve commit timestamp for transaction 0
 SELECT * FROM pg_xact_commit_timestamp_origin('1'::xid); -- ok, NULL
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a0da040, chunk 0x5a0dad1c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a0da040, chunk 0x5a0dad1c
  timestamp | roident 
 -----------+---------
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/cube/expected/cube.out /tmp/cirrus-ci-build/build-32/testrun/cube/regress/results/...
--- /tmp/cirrus-ci-build/contrib/cube/expected/cube.out	2026-03-01 13:36:32.410933978 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/cube/regress/results/cube.out	2026-03-01 13:50:49.483741748 +0000
@@ -345,6 +345,8 @@
 (1 row)
 
 SELECT * FROM pg_input_error_info('-1e-700', 'cube');
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a408c40, chunk 0x5a40a17c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a408c40, chunk 0x5a40a17c
                        message                       | detail | hint | sql_error_code 
 -----------------------------------------------------+--------+------+----------------
  "-1e-700" is out of range for type double precision |        |      | 22003
regress
diff -U3 /tmp/cirrus-ci-build/contrib/dblink/expected/dblink.out /tmp/cirrus-ci-build/build-32/testrun/dblink/regress/re...
--- /tmp/cirrus-ci-build/contrib/dblink/expected/dblink.out	2026-03-01 13:36:32.410933978 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/dblink/regress/results/dblink.out	2026-03-01 13:50:49.671742471 +0000
@@ -129,6 +129,7 @@
 DROP TABLE foo_1;
 -- retest using a quoted and schema qualified table
 CREATE SCHEMA "MySchema";
+WARNING:  detected write past chunk end in PortalContext 0x59575e48
 CREATE TABLE "MySchema"."Foo"(f1 int, f2 text, f3 text[], primary key (f1,f2));
 INSERT INTO "MySchema"."Foo" VALUES (0,'a','{"a0","b0","c0"}');
 -- list the primary key fields
@@ -799,6 +800,8 @@
 UNION
 (SELECT * from dblink_get_result('dtest3') as t3(f1 int, f2 text, f3 text[]))
 ORDER by f1;
+WARNING:  detected write past chunk end in PortalContext 0x5954940c
+WARNING:  detected write past chunk end in PortalContext 0x594e78b4
 -- dblink_get_connections returns an array with elements in a machine-dependent
 -- ordering, so we must resort to unnesting and sorting for a stable result
 create function unnest(anyarray) returns setof anyelement
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/dummy_index_am/expected/reloptions.out /tmp/cirrus-ci-build/build-32/test...
--- /tmp/cirrus-ci-build/src/test/modules/dummy_index_am/expected/reloptions.out	2026-03-01 13:36:34.175605867 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/dummy_index_am/regress/results/reloptions.out	2026-03-01 13:51:31.991908580 +0...
@@ -7,6 +7,8 @@
 CREATE INDEX dummy_test_idx ON dummy_test_tab
   USING dummy_index_am (i);
 SELECT unnest(reloptions) FROM pg_class WHERE relname = 'dummy_test_idx';
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59108bc0, chunk 0x59109008
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59108bc0, chunk 0x59109008
  unnest 
 --------
 (0 rows)
@@ -29,6 +31,8 @@
 -- Silence again validation checks for strings until the end of the test.
 SET client_min_messages TO 'warning';
 SELECT unnest(reloptions) FROM pg_class WHERE relname = 'dummy_test_idx';
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59108bc0, chunk 0x59109008
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59108bc0, chunk 0x59109008
          unnest         
 ------------------------
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/dummy_seclabel/expected/dummy_seclabel.out /tmp/cirrus-ci-build/build-32/...
--- /tmp/cirrus-ci-build/src/test/modules/dummy_seclabel/expected/dummy_seclabel.out	2026-03-01 13:36:34.175605867 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/dummy_seclabel/regress/results/dummy_seclabel.out	2026-03-01 13:51:33.47591451...
@@ -71,6 +71,7 @@
 SECURITY LABEL ON FUNCTION dummy_seclabel_four() IS 'classified';		-- OK
 SECURITY LABEL ON DOMAIN dummy_seclabel_domain IS 'classified';		-- OK
 CREATE SCHEMA dummy_seclabel_test;
+WARNING:  detected write past chunk end in PortalContext 0x5a0dd608
 SECURITY LABEL ON SCHEMA dummy_seclabel_test IS 'unclassified';		-- OK
 SET client_min_messages = error;
 CREATE PUBLICATION dummy_pub;
@@ -80,6 +81,8 @@
 SECURITY LABEL ON SUBSCRIPTION dummy_sub IS 'classified';
 SELECT objtype, objname, provider, label FROM pg_seclabels
 	ORDER BY objtype, objname;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a1cb9a0, chunk 0x5a1d040c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a1cb9a0, chunk 0x5a1d040c
    objtype    |           objname            | provider |    label     
 --------------+------------------------------+----------+--------------
  column       | dummy_seclabel_tbl1.a        | dummy    | unclassified
regress
diff -U3 /tmp/cirrus-ci-build/contrib/earthdistance/expected/earthdistance.out /tmp/cirrus-ci-build/build-32/testrun/ear...
--- /tmp/cirrus-ci-build/contrib/earthdistance/expected/earthdistance.out	2026-03-01 13:36:32.414915719 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/earthdistance/regress/results/earthdistance.out	2026-03-01 13:50:54.251760123 ...
@@ -963,6 +963,10 @@
 --
 -- list what's installed
 \dT
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586cd610, chunk 0x586d0f60
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586beb70, chunk 0x586c0950
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586cd610, chunk 0x586d0f60
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586beb70, chunk 0x586c0950
                                               List of data types
  Schema | Name  |                                         Description                                         
 --------+-------+---------------------------------------------------------------------------------------------
@@ -980,6 +984,8 @@
 HINT:  You can drop extension cube instead.
 -- list what's installed
 \dT
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586beb70, chunk 0x586c0950
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x586beb70, chunk 0x586c0950
...
regress
diff -U3 /tmp/cirrus-ci-build/src/interfaces/ecpg/test/expected/compat_informix-rnull.stderr /tmp/cirrus-ci-build/build-...
--- /tmp/cirrus-ci-build/src/interfaces/ecpg/test/expected/compat_informix-rnull.stderr	2026-03-01 13:36:33.996237297 +0...
+++ /tmp/cirrus-ci-build/build-32/testrun/ecpg/ecpg/results/compat_informix-rnull.stderr	2026-03-01 13:51:58.040013665 +...
@@ -62,56 +62,72 @@
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ecpg_execute on line 59: query: select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 1; ...
 [NO_PID]: sqlca: code: 0, state: 00000
-[NO_PID]: ecpg_execute on line 59: using PQexec
+[NO_PID]: ECPGnoticeReceiver: problem in alloc set ExecutorState: detected write past chunk end in block 0x58fc7e20, ch...
 [NO_PID]: sqlca: code: 0, state: 00000
+[NO_PID]: raising sqlcode 0
+[NO_PID]: sqlca: code: 0, state: 01000
+[NO_PID]: ECPGnoticeReceiver: problem in alloc set ExecutorState: detected write past chunk end in block 0x58fc7e20, ch...
+[NO_PID]: sqlca: code: 0, state: 01000
+[NO_PID]: raising sqlcode 0
+[NO_PID]: sqlca: code: 0, state: 01000
+[NO_PID]: ecpg_execute on line 59: using PQexec
+[NO_PID]: sqlca: code: 0, state: 01000
 [NO_PID]: ecpg_process_output on line 59: correctly got 1 tuples with 10 fields
-[NO_PID]: sqlca: code: 0, state: 00000
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/file_fdw/expected/file_fdw.out /tmp/cirrus-ci-build/build-32/testrun/file_fdw/regr...
--- /tmp/cirrus-ci-build/contrib/file_fdw/expected/file_fdw.out	2026-03-01 13:36:32.414915719 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/file_fdw/regress/results/file_fdw.out	2026-03-01 13:50:53.827758485 +0000
@@ -43,10 +43,13 @@
 GRANT USAGE ON FOREIGN SERVER file_server TO regress_file_fdw_user;
 SET ROLE regress_file_fdw_user;
 CREATE USER MAPPING FOR regress_file_fdw_user SERVER file_server;
+WARNING:  detected write past chunk end in PortalContext 0x59f0336c
 -- create user mappings and grant privilege to test users
 SET ROLE regress_file_fdw_superuser;
 CREATE USER MAPPING FOR regress_file_fdw_superuser SERVER file_server;
+WARNING:  detected write past chunk end in PortalContext 0x59e8085c
 CREATE USER MAPPING FOR regress_no_priv_user SERVER file_server;
+WARNING:  detected write past chunk end in PortalContext 0x59f0336c
 -- validator tests
 CREATE FOREIGN TABLE tbl () SERVER file_server OPTIONS (foo 'bar');  -- ERROR
 ERROR:  invalid option "foo"
regress
diff -U3 /tmp/cirrus-ci-build/contrib/hstore_plperl/expected/hstore_plperl.out /tmp/cirrus-ci-build/build-32/testrun/hst...
--- /tmp/cirrus-ci-build/contrib/hstore_plperl/expected/hstore_plperl.out	2026-03-01 13:36:32.422879202 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/hstore_plperl/regress/results/hstore_plperl.out	2026-03-01 13:50:54.815762302 ...
@@ -7,6 +7,8 @@
 FROM information_schema.transforms JOIN information_schema.routines
      USING (specific_catalog, specific_schema, specific_name)
 ORDER BY 1, 2, 5, 6;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x597243f0, chunk 0x59727ee8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x597243f0, chunk 0x59727ee8
  udt_schema | udt_name | routine_schema |   routine_name   | group_name | transform_type 
 ------------+----------+----------------+------------------+------------+----------------
  public     | hstore   | public         | hstore_to_plperl | plperl     | FROM SQL
diff -U3 /tmp/cirrus-ci-build/contrib/hstore_plperl/expected/hstore_plperlu.out /tmp/cirrus-ci-build/build-32/testrun/hs...
--- /tmp/cirrus-ci-build/contrib/hstore_plperl/expected/hstore_plperlu.out	2026-03-01 13:36:32.426860944 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/hstore_plperl/regress/results/hstore_plperlu.out	2026-03-01 13:50:55.315764236...
@@ -7,6 +7,8 @@
 FROM information_schema.transforms JOIN information_schema.routines
      USING (specific_catalog, specific_schema, specific_name)
 ORDER BY 1, 2, 5, 6;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59721700, chunk 0x597251f8
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/hstore/expected/hstore.out /tmp/cirrus-ci-build/build-32/testrun/hstore/regress/re...
--- /tmp/cirrus-ci-build/contrib/hstore/expected/hstore.out	2026-03-01 13:36:32.418897462 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/hstore/regress/results/hstore.out	2026-03-01 13:50:57.531772816 +0000
@@ -265,12 +265,16 @@
 (1 row)
 
 select * from pg_input_error_info('a=b', 'hstore');
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59ab8cb0, chunk 0x59aba1ec
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59ab8cb0, chunk 0x59aba1ec
                     message                     | detail | hint | sql_error_code 
 ------------------------------------------------+--------+------+----------------
  syntax error in hstore, near "b" at position 2 |        |      | 42601
 (1 row)
 
 select * from pg_input_error_info(' =>b', 'hstore');
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59ab8cb0, chunk 0x59aba1ec
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59ab8cb0, chunk 0x59aba1ec
                     message                     | detail | hint | sql_error_code 
 ------------------------------------------------+--------+------+----------------
  syntax error in hstore, near "=" at position 1 |        |      | 42601
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/index/expected/killtuples.out /tmp/cirrus-ci-build/build-32/testrun/index...
--- /tmp/cirrus-ci-build/src/test/modules/index/expected/killtuples.out	2026-03-01 13:36:34.175605867 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/index/isolation/results/killtuples.out	2026-03-01 13:51:34.915920280 +0000
@@ -1,6 +1,12 @@
 Parsed test spec with 1 sessions
 
 starting permutation: create_table fill_500 create_btree flush disable_seq disable_bitmap measure access flush result m...
+s1: WARNING:  detected write past chunk end in PortalContext 0x588feca0
+LINE 1: CREATE TEMPORARY TABLE kill_prior_tuple(key int not null, ca...
+                               ^
+s1: WARNING:  detected write past chunk end in PortalContext 0x58875a04
+LINE 1: CREATE TEMPORARY TABLE kill_prior_tuple(key int not null, ca...
+                               ^
 step create_table: CREATE TEMPORARY TABLE kill_prior_tuple(key int not null, cat text not null);
 step fill_500: INSERT INTO kill_prior_tuple(key, cat) SELECT g.i, 'a' FROM generate_series(1, 500) g(i);
 step create_btree: CREATE INDEX kill_prior_tuple_btree ON kill_prior_tuple USING btree (key);
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/injection_points/expected/reindex_conc.out /tmp/cirrus-ci-build/build-32/...
--- /tmp/cirrus-ci-build/src/test/modules/injection_points/expected/reindex_conc.out	2026-03-01 13:36:34.175605867 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/injection_points/regress/results/reindex_conc.out	2026-03-01 13:51:34.45991845...
@@ -20,6 +20,7 @@
 (1 row)
 
 CREATE SCHEMA reindex_inj;
+WARNING:  detected write past chunk end in PortalContext 0x58ca0df8
 CREATE TABLE reindex_inj.tbl(i int primary key, updated_at timestamp);
 CREATE UNIQUE INDEX ind_simple ON reindex_inj.tbl(i);
 CREATE UNIQUE INDEX ind_expr ON reindex_inj.tbl(ABS(i));
regress
diff -U3 /tmp/cirrus-ci-build/contrib/intarray/expected/_int.out /tmp/cirrus-ci-build/build-32/testrun/intarray/regress/...
--- /tmp/cirrus-ci-build/contrib/intarray/expected/_int.out	2026-03-01 13:36:32.430842686 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/intarray/regress/results/_int.out	2026-03-01 13:51:13.919836863 +0000
@@ -410,6 +410,8 @@
              ('foo'))
       AS a(str),
      LATERAL pg_input_error_info(a.str, 'query_int') as errinfo;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59d99ca0, chunk 0x59d9b804
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59d99ca0, chunk 0x59d9b804
     query_int    | ok | sql_error_code |   message    | detail | hint 
 -----------------+----+----------------+--------------+--------+------
  1&(2&(4&(5|6))) | t  |                |              |        | 
@@ -421,78 +423,104 @@
 \copy test__int from 'data/test__int.data'
 ANALYZE test__int;
 SELECT count(*) from test__int WHERE a && '{23,50}';
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59d99ca0, chunk 0x59d9a314
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59d99ca0, chunk 0x59d9a314
  count 
 -------
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/isn/expected/isn.out /tmp/cirrus-ci-build/build-32/testrun/isn/regress/results/isn...
--- /tmp/cirrus-ci-build/contrib/isn/expected/isn.out	2026-03-01 13:36:32.430842686 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/isn/regress/results/isn.out	2026-03-01 13:51:00.343783734 +0000
@@ -272,6 +272,8 @@
              ('9771234567003','ISSN'))
       AS a(str,typ),
      LATERAL pg_input_error_info(a.str, a.typ) as errinfo;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59568a80, chunk 0x5956a5f4
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59568a80, chunk 0x5956a5f4
       isn      | type  | ok | sql_error_code |                        message                         | detail | hint 
 ---------------+-------+----+----------------+--------------------------------------------------------+--------+------
  9780123456786 | UPC   | f  | 22P02          | cannot cast ISBN to UPC for number: "9780123456786"    |        | 
regress
diff -U3 /tmp/cirrus-ci-build/src/test/isolation/expected/temporal-range-integrity.out /tmp/cirrus-ci-build/build-32/tes...
--- /tmp/cirrus-ci-build/src/test/isolation/expected/temporal-range-integrity.out	2026-03-01 13:36:34.147703720 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/isolation/isolation/results/temporal-range-integrity.out	2026-03-01 13:48:10.2...
@@ -1,6 +1,8 @@
 Parsed test spec with 2 sessions
 
 starting permutation: rx1 wy1 c1 ry2 wx2 c2
+s1: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58662090, chunk 0x58662b0c
+s1: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58662090, chunk 0x58662b0c
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND (exp_dat...
 count
 -----
@@ -19,6 +21,8 @@
 step c2: COMMIT;
 
 starting permutation: rx1 wy1 ry2 c1 wx2 c2
+s1: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58662090, chunk 0x58662b0c
+s1: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58662090, chunk 0x58662b0c
 step rx1: SELECT count(*) FROM statute WHERE statute_cite = '123.45(1)a' AND eff_date <= DATE '2009-05-15' AND (exp_dat...
 count
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/lo/expected/lo.out /tmp/cirrus-ci-build/build-32/testrun/lo/regress/results/lo.out
--- /tmp/cirrus-ci-build/contrib/lo/expected/lo.out	2026-03-01 13:36:32.434824428 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/lo/regress/results/lo.out	2026-03-01 13:51:00.791785476 +0000
@@ -3,12 +3,14 @@
 CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
     FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster);
 SELECT lo_create(43213);
+WARNING:  detected write past chunk end in ExprContext 0x58b429f4
  lo_create 
 -----------
      43213
 (1 row)
 
 SELECT lo_create(43214);
+WARNING:  detected write past chunk end in ExprContext 0x58b426cc
  lo_create 
 -----------
      43214
@@ -53,18 +55,21 @@
     DEFERRABLE INITIALLY DEFERRED
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/ltree/expected/ltree.out /tmp/cirrus-ci-build/build-32/testrun/ltree/regress/resul...
--- /tmp/cirrus-ci-build/contrib/ltree/expected/ltree.out	2026-03-01 13:36:32.438806169 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/ltree/regress/results/ltree.out	2026-03-01 13:51:02.215791018 +0000
@@ -8190,6 +8190,8 @@
              ('!tree & aWdf@*','ltxtquery'))
       AS a(str,typ),
      LATERAL pg_input_error_info(a.str, a.typ) as errinfo;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59c663c0, chunk 0x59c67f54
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59c663c0, chunk 0x59c67f54
      value      |   type    | ok | sql_error_code |              message               |          detail          | hin...
 ----------------+-----------+----+----------------+------------------------------------+--------------------------+----...
  .2.3           | ltree     | f  | 42601          | ltree syntax error at character 1  |                          | 
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/page.out /tmp/cirrus-ci-build/build-32/testrun/pageinspect/re...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/page.out	2026-03-01 13:36:32.442787911 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pageinspect/regress/results/page.out	2026-03-01 13:51:03.947797770 +0000
@@ -1,6 +1,12 @@
 CREATE EXTENSION pageinspect;
 -- Use a temp table so that effects of VACUUM are predictable
 CREATE TEMP TABLE test1 (a int, b int);
+WARNING:  detected write past chunk end in PortalContext 0x58e54d4c
+LINE 1: CREATE TEMP TABLE test1 (a int, b int);
+                          ^
+WARNING:  detected write past chunk end in PortalContext 0x58e55870
+LINE 1: 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
@@ -212,6 +218,8 @@
 -- stored
 create table test9s (a int not null, b int generated always as (a * 2) stored);
 insert into test9s values (131584);
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_buffercache/expected/pg_buffercache.out /tmp/cirrus-ci-build/build-32/testrun/p...
--- /tmp/cirrus-ci-build/contrib/pg_buffercache/expected/pg_buffercache.out	2026-03-01 13:36:32.446769653 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_buffercache/regress/results/pg_buffercache.out	2026-03-01 13:51:05.74780480...
@@ -95,24 +95,32 @@
 RESET ROLE;
 -- These should return nothing, because these are STRICT functions
 SELECT * FROM pg_buffercache_evict(NULL);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a242780, chunk 0x5a2434a4
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a242780, chunk 0x5a2434a4
  buffer_evicted | buffer_flushed 
 ----------------+----------------
                 | 
 (1 row)
 
 SELECT * FROM pg_buffercache_evict_relation(NULL);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a242780, chunk 0x5a2437c0
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a242780, chunk 0x5a2437c0
  buffers_evicted | buffers_flushed | buffers_skipped 
 -----------------+-----------------+-----------------
                  |                 |                
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/select.out /tmp/cirrus-ci-build/build-32/testrun/pg_st...
--- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/select.out	2026-03-01 13:36:32.454733136 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_stat_statements/regress/results/select.out	2026-03-01 13:51:13.183833965 +0...
@@ -560,6 +560,12 @@
 FROM (VALUES (1, 2, 3), (4, NULL, 6), (7, 8, 9)) AS t (a, b, c)
 GROUP BY ROLLUP(a, b), rollup(a, c)
 ORDER BY a, b, c;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58a1d590, chunk 0x58a1d7b0
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x589ec720, chunk 0x589edc60
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x589ec720, chunk 0x589edcec
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58a1d590, chunk 0x58a1d7b0
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x589ec720, chunk 0x589edc60
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x589ec720, chunk 0x589edcec
  a | b | c 
 ---+---+---
  1 | 2 | 3
@@ -593,6 +599,12 @@
 FROM (VALUES (1, 2, 3), (4, NULL, 6), (7, 8, 9)) AS t (a, b, c)
 GROUP BY DISTINCT ROLLUP(a, b), rollup(a, c)
 ORDER BY a, b, c;
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_surgery/expected/heap_surgery.out /tmp/cirrus-ci-build/build-32/testrun/pg_surg...
--- /tmp/cirrus-ci-build/contrib/pg_surgery/expected/heap_surgery.out	2026-03-01 13:36:32.458714878 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_surgery/regress/results/heap_surgery.out	2026-03-01 13:51:14.315838423 +000...
@@ -2,6 +2,12 @@
 -- create a normal heap table and insert some rows.
 -- use a temp table so that vacuum behavior doesn't depend on global xmin
 create temp table htab (a int);
+WARNING:  detected write past chunk end in PortalContext 0x58e9ed3c
+LINE 1: create temp table htab (a int);
+                          ^
+WARNING:  detected write past chunk end in PortalContext 0x58e9f860
+LINE 1: 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[]);
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out /tmp/cirrus-ci-build/build-32/testrun/pg_trgm/regress...
--- /tmp/cirrus-ci-build/contrib/pg_trgm/expected/pg_trgm.out	2026-03-01 13:36:32.462696620 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_trgm/regress/results/pg_trgm.out	2026-03-01 13:51:20.867864309 +0000
@@ -4709,6 +4709,12 @@
 
 -- ensure that pending-list items are handled correctly, too
 create temp table t_test_trgm(t text COLLATE "C");
+WARNING:  detected write past chunk end in PortalContext 0x5885801c
+LINE 1: create temp table t_test_trgm(t text COLLATE "C");
+                          ^
+WARNING:  detected write past chunk end in PortalContext 0x5889f290
+LINE 1: create temp table t_test_trgm(t text COLLATE "C");
+                          ^
 create index t_trgm_idx on t_test_trgm using gin (t gin_trgm_ops);
 insert into t_test_trgm values ('qwerty99'), ('qwerty01');
 explain (costs off)
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out /tmp/cirrus-ci-build/build-32/testrun/pg_upgrade/002...
--- /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out	2026-03-01 13:36:34.267284348 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_upgrade/002_pg_upgrade/data/results/boolean.out	2026-03-01 13:48:02.2231956...
@@ -156,6 +156,8 @@
 (1 row)
 
 SELECT * FROM pg_input_error_info('junk', 'bool');
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a10f540, chunk 0x5a110a7c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a10f540, chunk 0x5a110a7c
                     message                    | detail | hint | sql_error_code 
 -----------------------------------------------+--------+------+----------------
  invalid input syntax for type boolean: "junk" |        |      | 22P02
@@ -477,6 +479,8 @@
     b IS UNKNOWN AS isunknown,
     b IS NOT UNKNOWN AS isnotunknown
 FROM booltbl3 ORDER BY o;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a136b90, chunk 0x5a136f4c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5a136b90, chunk 0x5a136f4c
    d   | istrue | isnottrue | isfalse | isnotfalse | isunknown | isnotunknown 
 -------+--------+-----------+---------+------------+-----------+--------------
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_visibility/expected/pg_visibility.out /tmp/cirrus-ci-build/build-32/testrun/pg_...
--- /tmp/cirrus-ci-build/contrib/pg_visibility/expected/pg_visibility.out	2026-03-01 13:36:32.466678361 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_visibility/regress/results/pg_visibility.out	2026-03-01 13:51:15.103841528 ...
@@ -111,6 +111,7 @@
 create foreign data wrapper dummy;
 create server dummy_server foreign data wrapper dummy;
 create foreign table test_foreign_table () server dummy_server;
+WARNING:  detected write past chunk end in PortalContext 0x59e06b2c
 -- foreign tables do not have VMs, so these all fail
 select pg_visibility('test_foreign_table', 0);
 ERROR:  relation "test_foreign_table" is of wrong relation kind
@@ -208,6 +209,12 @@
 -- test the case where vacuum phase I does not need to modify the heap buffer
 -- and only needs to set the VM
 create temp table test_vac_unmodified_heap(a int);
+WARNING:  detected write past chunk end in PortalContext 0x59e06d6c
+LINE 1: create temp table test_vac_unmodified_heap(a int);
+                          ^
+WARNING:  detected write past chunk end in PortalContext 0x59e9f3a0
+LINE 1: create temp table test_vac_unmodified_heap(a int);
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_walinspect/expected/pg_walinspect.out /tmp/cirrus-ci-build/build-32/testrun/pg_...
--- /tmp/cirrus-ci-build/contrib/pg_walinspect/expected/pg_walinspect.out	2026-03-01 13:36:32.470660103 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_walinspect/regress/results/pg_walinspect.out	2026-03-01 13:51:16.227845962 ...
@@ -96,6 +96,8 @@
 SELECT oid AS sample_tbl_oid FROM pg_class WHERE relname = 'sample_tbl' \gset
 SELECT COUNT(*) >= 1 AS ok FROM pg_get_wal_records_info(:'wal_lsn1', :'wal_lsn2')
 			WHERE block_ref LIKE concat('%', :'sample_tbl_oid', '%') AND resource_manager = 'Heap';
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59127e20, chunk 0x59129c54
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59127e20, chunk 0x59129c54
  ok 
 ----
  t
@@ -118,10 +120,16 @@
 -- Update table to generate some block data.
 SELECT pg_current_wal_lsn() AS wal_lsn3 \gset
 UPDATE sample_tbl SET col1 = col1 + 1 WHERE col1 = 1;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x591422d0, chunk 0x591426f0
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59127e20, chunk 0x591294d8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x591422d0, chunk 0x591426f0
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59127e20, chunk 0x591294d8
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pgstattuple/expected/pgstattuple.out /tmp/cirrus-ci-build/build-32/testrun/pgstatt...
--- /tmp/cirrus-ci-build/contrib/pgstattuple/expected/pgstattuple.out	2026-03-01 13:36:32.482605328 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pgstattuple/regress/results/pgstattuple.out	2026-03-01 13:51:11.811828569 +000...
@@ -195,6 +195,7 @@
 create foreign data wrapper dummy;
 create server dummy_server foreign data wrapper dummy;
 create foreign table test_foreign_table () server dummy_server;
+WARNING:  detected write past chunk end in PortalContext 0x584bea0c
 -- these should all fail
 select pgstattuple('test_foreign_table');
 ERROR:  cannot get tuple-level statistics for relation "test_foreign_table"
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/plperl/expected/plperl_setup.out /tmp/cirrus-ci-build/build-32/testrun/plperl/regre...
--- /tmp/cirrus-ci-build/src/pl/plperl/expected/plperl_setup.out	2026-03-01 13:36:34.056025238 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/plperl/regress/results/plperl_setup.out	2026-03-01 13:50:34.907686192 +0000
@@ -26,6 +26,7 @@
 ERROR:  permission denied to create extension "plperlu"
 HINT:  Must be superuser to create this extension.
 CREATE SCHEMA plperl_setup_scratch;
+WARNING:  detected write past chunk end in PortalContext 0x589a6d08
 SET search_path = plperl_setup_scratch;
 GRANT ALL ON SCHEMA plperl_setup_scratch TO regress_plperl_user2;
 CREATE FUNCTION foo1() returns int language plperl as '1;';
diff -U3 /tmp/cirrus-ci-build/src/pl/plperl/expected/plperl.out /tmp/cirrus-ci-build/build-32/testrun/plperl/regress/res...
--- /tmp/cirrus-ci-build/src/pl/plperl/expected/plperl.out	2026-03-01 13:36:34.056025238 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/plperl/regress/results/plperl.out	2026-03-01 13:50:35.103686932 +0000
@@ -11,6 +11,8 @@
 (1 row)
 
 SELECT * FROM perl_int(42);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58b26e50, chunk 0x58b278c8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58b26e50, chunk 0x58b278c8
...
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_array.out /tmp/cirrus-ci-build/build-32/testrun/plpgsq...
--- /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_array.out	2026-03-01 13:36:34.071969322 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/plpgsql/regress/results/plpgsql_array.out	2026-03-01 13:50:33.651681451 +0000
@@ -63,6 +63,8 @@
 end$$;
 NOTICE:  a = {1,1,2,3,42,3,1,1,2,3,42,3}
 create temp table onecol as select array[1,2] as f1;
+WARNING:  detected write past chunk end in PortalContext 0x587c8c9c
+WARNING:  detected write past chunk end in PortalContext 0x586f390c
 do $$ declare a int[];
 begin a := f1 from onecol; raise notice 'a = %', a; end$$;
 NOTICE:  a = {1,2}
diff -U3 /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_call.out /tmp/cirrus-ci-build/build-32/testrun/plpgsql...
--- /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_call.out	2026-03-01 13:36:34.071969322 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/plpgsql/regress/results/plpgsql_call.out	2026-03-01 13:50:33.983682703 +0000
@@ -50,6 +50,12 @@
 CALL test_proc3a();
 NOTICE:  done
 CREATE TEMP TABLE tt1(f1 int);
+WARNING:  detected write past chunk end in PortalContext 0x587ac8bc
...
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/plpython/expected/plpython_spi.out /tmp/cirrus-ci-build/build-32/testrun/plpython/r...
--- /tmp/cirrus-ci-build/src/pl/plpython/expected/plpython_spi.out	2026-03-01 13:36:34.095885448 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/plpython/regress/results/plpython_spi.out	2026-03-01 13:50:36.779693273 +0000
@@ -168,6 +168,14 @@
 
 SELECT result_metadata_test($$CREATE TEMPORARY TABLE foo1 (a int, b text)$$);
 INFO:  True
+WARNING:  detected write past chunk end in SPI Exec 0x59a4d3dc
+LINE 1: CREATE TEMPORARY TABLE foo1 (a int, b text)
+                               ^
+QUERY:  CREATE TEMPORARY TABLE foo1 (a int, b text)
+WARNING:  detected write past chunk end in SPI Exec 0x59a4da98
+LINE 1: CREATE TEMPORARY TABLE foo1 (a int, b text)
+                               ^
+QUERY:  CREATE TEMPORARY TABLE foo1 (a int, b text)
 ERROR:  plpy.Error: command did not produce a result set
 CONTEXT:  Traceback (most recent call last):
   PL/Python function "result_metadata_test", line 6, in <module>
@@ -185,6 +193,14 @@
 (1 row)
...
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/tcl/expected/pltcl_queries.out /tmp/cirrus-ci-build/build-32/testrun/pltcl/regress/...
--- /tmp/cirrus-ci-build/src/pl/tcl/expected/pltcl_queries.out	2026-03-01 13:36:34.107843511 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pltcl/regress/results/pltcl_queries.out	2026-03-01 13:50:41.151709873 +0000
@@ -204,6 +204,8 @@
 (1 row)
 
 select * from tcl_record_result(42) as (q1 text, q2 int, q3 text, q4 int);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58ea4230, chunk 0x58ea4ea8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58ea4230, chunk 0x58ea4ea8
     q1    | q2 |    q3    | q4 
 ----------+----+----------+----
  sometext | 42 | moretext |   
@@ -642,10 +644,12 @@
 
 -- test that we don't get confused by multiple funcs with same SQL name
 create schema tcls1;
+WARNING:  detected write past chunk end in PortalContext 0x58ec43b8
 create function tcls1.somefunc(int) returns int as $$
 return [expr $1 * 2]
 $$ language pltcl;
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out /tmp/cirrus-ci-build/build-32/testrun/postg...
--- /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-01 13:36:32.494550553 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-03-01 13:51:34.987920568 +0...
@@ -15,13 +15,17 @@
 CREATE USER MAPPING FOR public SERVER testserver1
 	OPTIONS (user 'value', password 'value');
 CREATE USER MAPPING FOR CURRENT_USER SERVER loopback;
+WARNING:  detected write past chunk end in PortalContext 0x592c5cac
 CREATE USER MAPPING FOR CURRENT_USER SERVER loopback2;
+WARNING:  detected write past chunk end in PortalContext 0x592c5cac
 CREATE USER MAPPING FOR public SERVER loopback3;
+WARNING:  detected write past chunk end in PortalContext 0x592c5cac
 -- ===================================================================
 -- create objects used through FDW loopback server
 -- ===================================================================
 CREATE TYPE user_enum AS ENUM ('foo', 'bar', 'buz');
 CREATE SCHEMA "S 1";
+WARNING:  detected write past chunk end in PortalContext 0x592c5d18
 CREATE TABLE "S 1"."T 1" (
 	"C 1" int NOT NULL,
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out /tmp/cirrus-ci-build/build-32/testrun/recovery/027_s...
--- /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out	2026-03-01 13:36:34.267284348 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/recovery/027_stream_regress/data/results/boolean.out	2026-03-01 13:49:44.13150...
@@ -156,6 +156,8 @@
 (1 row)
 
 SELECT * FROM pg_input_error_info('junk', 'bool');
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58da45b0, chunk 0x58da5aec
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58da45b0, chunk 0x58da5aec
                     message                    | detail | hint | sql_error_code 
 -----------------------------------------------+--------+------+----------------
  invalid input syntax for type boolean: "junk" |        |      | 22P02
@@ -477,6 +479,8 @@
     b IS UNKNOWN AS isunknown,
     b IS NOT UNKNOWN AS isnotunknown
 FROM booltbl3 ORDER BY o;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58dba6a0, chunk 0x58dbaa5c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58dba6a0, chunk 0x58dbaa5c
    d   | istrue | isnottrue | isfalse | isnotfalse | isunknown | isnotunknown 
 -------+--------+-----------+---------+------------+-----------+--------------
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out /tmp/cirrus-ci-build/build-32/testrun/regress/regres...
--- /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out	2026-03-01 13:36:34.267284348 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/regress/regress/results/boolean.out	2026-03-01 13:48:00.735192096 +0000
@@ -156,6 +156,8 @@
 (1 row)
 
 SELECT * FROM pg_input_error_info('junk', 'bool');
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59a6a880, chunk 0x59a6bdbc
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59a6a880, chunk 0x59a6bdbc
                     message                    | detail | hint | sql_error_code 
 -----------------------------------------------+--------+------+----------------
  invalid input syntax for type boolean: "junk" |        |      | 22P02
@@ -477,6 +479,8 @@
     b IS UNKNOWN AS isunknown,
     b IS NOT UNKNOWN AS isnotunknown
 FROM booltbl3 ORDER BY o;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59a920d0, chunk 0x59a9248c
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59a920d0, chunk 0x59a9248c
    d   | istrue | isnottrue | isfalse | isnotfalse | isunknown | isnotunknown 
 -------+--------+-----------+---------+------------+-----------+--------------
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/seg/expected/security.out /tmp/cirrus-ci-build/build-32/testrun/seg/regress/result...
--- /tmp/cirrus-ci-build/contrib/seg/expected/security.out	2026-03-01 13:36:32.502514036 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/seg/regress/results/security.out	2026-03-01 13:51:20.555863072 +0000
@@ -6,6 +6,7 @@
 GRANT CREATE ON DATABASE :"datname" TO regress_seg_role;
 SET ROLE regress_seg_role;
 CREATE SCHEMA regress_seg_schema;
+WARNING:  detected write past chunk end in PortalContext 0x58bf781c
 CREATE FUNCTION regress_seg_schema.exfun(i int) RETURNS int AS $$
 BEGIN
   CREATE EXTENSION seg VERSION '1.2';
@@ -22,6 +23,7 @@
 CREATE SCHEMA test_schema
 CREATE TABLE t(i int) PARTITION BY RANGE (i)
 CREATE TABLE p1 PARTITION OF t FOR VALUES FROM (1) TO (regress_seg_schema.exfun(2));
+WARNING:  detected write past chunk end in PortalContext 0x58bf790c
 DROP SCHEMA test_schema CASCADE;
 NOTICE:  drop cascades to 3 other objects
 DETAIL:  drop cascades to table test_schema.t
diff -U3 /tmp/cirrus-ci-build/contrib/seg/expected/seg.out /tmp/cirrus-ci-build/build-32/testrun/seg/regress/results/seg...
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/spgist_name_ops/expected/spgist_name_ops.out /tmp/cirrus-ci-build/build-3...
--- /tmp/cirrus-ci-build/src/test/modules/spgist_name_ops/expected/spgist_name_ops.out	2026-03-01 13:36:34.183577908 +00...
+++ /tmp/cirrus-ci-build/build-32/testrun/spgist_name_ops/regress/results/spgist_name_ops.out	2026-03-01 13:51:38.647935...
@@ -20,6 +20,8 @@
 create table t(f1 name, f2 integer, f3 text);
 create index on t using spgist(f1) include(f2, f3);
 \d+ t_f1_f2_f3_idx
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x593ebd50, chunk 0x593ed358
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x593ebd50, chunk 0x593ed358
                  Index "public.t_f1_f2_f3_idx"
  Column |  Type   | Key? | Definition | Storage  | Stats target 
 --------+---------+------+------------+----------+--------------
@@ -32,6 +34,8 @@
   proname,
   case when length(proname) % 2 = 0 then pronargs else null end,
   prosrc from pg_proc;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x593ebd50, chunk 0x593edbc8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x593ebd50, chunk 0x593edbc8
 vacuum analyze t;
 explain (costs off)
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/spi/expected/refint.out /tmp/cirrus-ci-build/build-32/testrun/spi/regress/results/...
--- /tmp/cirrus-ci-build/contrib/spi/expected/refint.out	2026-03-01 13:36:32.510477519 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/spi/regress/results/refint.out	2026-03-01 13:51:22.427870493 +0000
@@ -94,6 +94,10 @@
   FROM information_schema.triggers
   WHERE event_object_table in ('pkeys', 'fkeys', 'fkeys2')
   ORDER BY trigger_name COLLATE "C", 2;
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x595dd730, chunk 0x595df038
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5957e5b0, chunk 0x59580138
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x595dd730, chunk 0x595df038
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5957e5b0, chunk 0x59580138
         trigger_name        | event_manipulation | event_object_schema | event_object_table | action_order | action_con...
 ----------------------------+--------------------+---------------------+--------------------+--------------+-----------...
  check_fkeys2_fkey_restrict | DELETE             | public              | fkeys2             |            1 |           ...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/tablefunc/expected/tablefunc.out /tmp/cirrus-ci-build/build-32/testrun/tablefunc/r...
--- /tmp/cirrus-ci-build/contrib/tablefunc/expected/tablefunc.out	2026-03-01 13:36:32.514459261 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/tablefunc/regress/results/tablefunc.out	2026-03-01 13:51:21.623867304 +0000
@@ -18,6 +18,8 @@
 CREATE TABLE ct(id int, rowclass text, rowid text, attribute text, val text);
 \copy ct from 'data/ct.data'
 SELECT * FROM crosstab2('SELECT rowid, attribute, val FROM ct where rowclass = ''group1'' and (attribute = ''att2'' or ...
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59157d10, chunk 0x591586b8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59157d10, chunk 0x591586b8
  row_name | category_1 | category_2 
 ----------+------------+------------
  test1    | val2       | val3
@@ -26,6 +28,8 @@
 (3 rows)
 
 SELECT * FROM crosstab3('SELECT rowid, attribute, val FROM ct where rowclass = ''group1'' and (attribute = ''att2'' or ...
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59157d10, chunk 0x591586b8
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59157d10, chunk 0x591586b8
  row_name | category_1 | category_2 | category_3 
 ----------+------------+------------+------------
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_ddl_deparse/expected/create_schema.out /tmp/cirrus-ci-build/build-32...
--- /tmp/cirrus-ci-build/src/test/modules/test_ddl_deparse/expected/create_schema.out	2026-03-01 13:36:34.195535971 +000...
+++ /tmp/cirrus-ci-build/build-32/testrun/test_ddl_deparse/regress/results/create_schema.out	2026-03-01 13:51:42.4639506...
@@ -2,10 +2,13 @@
 -- CREATE_SCHEMA
 --
 CREATE SCHEMA foo;
+WARNING:  detected write past chunk end in PortalContext 0x58c2eaec
 NOTICE:  DDL test: type simple, tag CREATE SCHEMA
 CREATE SCHEMA IF NOT EXISTS bar;
+WARNING:  detected write past chunk end in PortalContext 0x58ba69fc
 NOTICE:  DDL test: type simple, tag CREATE SCHEMA
 CREATE SCHEMA baz;
+WARNING:  detected write past chunk end in PortalContext 0x58ba69fc
 NOTICE:  DDL test: type simple, tag CREATE SCHEMA
 -- Will not be created, and will not be handled by the
 -- event trigger
@@ -14,6 +17,7 @@
 CREATE SCHEMA element_test
   CREATE TABLE foo (id int)
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/test_decoding/expected/mxact.out /tmp/cirrus-ci-build/build-32/testrun/test_decodi...
--- /tmp/cirrus-ci-build/contrib/test_decoding/expected/mxact.out	2026-03-01 13:36:32.518441003 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_decoding/isolation/results/mxact.out	2026-03-01 13:51:25.755883713 +0000
@@ -70,6 +70,8 @@
 (1 row)
 
 step s0alter: ALTER TABLE do_write ADD column ts timestamptz;
+s0: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58ac2e50, chunk 0x58ac3bd8
+s0: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58ac2e50, chunk 0x58ac3bd8
 step s0w: INSERT INTO do_write DEFAULT VALUES;
 step s0start: SELECT data FROM pg_logical_slot_get_changes('isolation_slot', NULL, NULL, 'include-xids', 'false');
 data                                                                          
diff -U3 /tmp/cirrus-ci-build/contrib/test_decoding/expected/ondisk_startup.out /tmp/cirrus-ci-build/build-32/testrun/te...
--- /tmp/cirrus-ci-build/contrib/test_decoding/expected/ondisk_startup.out	2026-03-01 13:36:32.518441003 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_decoding/isolation/results/ondisk_startup.out	2026-03-01 13:51:26.4438864...
@@ -33,6 +33,8 @@
 (1 row)
 
 step s2c: COMMIT;
+s1: WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x58a9c160, chunk 0x58a9cee8
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/test_decoding/expected/ddl.out /tmp/cirrus-ci-build/build-32/testrun/test_decoding...
--- /tmp/cirrus-ci-build/contrib/test_decoding/expected/ddl.out	2026-03-01 13:36:32.518441003 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_decoding/regress/results/ddl.out	2026-03-01 13:51:29.015896697 +0000
@@ -79,15 +79,25 @@
 INSERT INTO replication_example(somedata, text, bar) VALUES (2, 2, 4);
 INSERT INTO replication_example(somedata, text, bar) VALUES (2, 3, 4);
 INSERT INTO replication_example(somedata, text, bar) VALUES (2, 4, NULL);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
 COMMIT;
 ALTER TABLE replication_example DROP COLUMN bar;
 INSERT INTO replication_example(somedata, text) VALUES (3, 1);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
 BEGIN;
 INSERT INTO replication_example(somedata, text) VALUES (3, 2);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
 INSERT INTO replication_example(somedata, text) VALUES (3, 3);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x588d59c0, chunk 0x588d6888
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out /tmp/cirrus-ci-build/build-3...
--- /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out	2026-03-01 13:36:34.199521992 +00...
+++ /tmp/cirrus-ci-build/build-32/testrun/test_extensions/regress/results/test_extensions.out	2026-03-01 13:51:43.791955...
@@ -1,6 +1,8 @@
 CREATE SCHEMA has$dollar;
+WARNING:  detected write past chunk end in PortalContext 0x58ca816c
 -- test some errors
 CREATE EXTENSION test_ext1;
+WARNING:  detected write past chunk end in PortalContext 0x58ca81e4
 ERROR:  required extension "test_ext2" is not installed
 HINT:  Use CREATE EXTENSION ... CASCADE to install required extensions too.
 CREATE EXTENSION test_ext1 SCHEMA test_ext1;
@@ -11,11 +13,14 @@
 ERROR:  extension "test_ext1" must be installed in schema "test_ext1"
 -- finally success
 CREATE EXTENSION test_ext1 SCHEMA has$dollar CASCADE;
+WARNING:  detected write past chunk end in PortalContext 0x58ca6b60
 NOTICE:  installing required extension "test_ext2"
 NOTICE:  installing required extension "test_ext3"
 NOTICE:  installing required extension "test_ext5"
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_oat_hooks/expected/test_oat_hooks.out /tmp/cirrus-ci-build/build-32/...
--- /tmp/cirrus-ci-build/src/test/modules/test_oat_hooks/expected/test_oat_hooks.out	2026-03-01 13:36:34.207494034 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_oat_hooks/regress/results/test_oat_hooks.out	2026-03-01 13:51:47.53197105...
@@ -6,7 +6,9 @@
 -- pg_parameter_acl catalog which conservatively grant no privileges to public.
 CREATE ROLE regress_role_joe;
 GRANT SET ON PARAMETER test_oat_hooks.user_var1 TO regress_role_joe;
+WARNING:  detected write past chunk end in PortalContext 0x58fe889c
 GRANT SET ON PARAMETER test_oat_hooks.super_var1 TO regress_role_joe;
+WARNING:  detected write past chunk end in PortalContext 0x58fe889c
 -- SET commands fire both the ProcessUtility_hook and the
 -- object_access_hook_str.  Since the auditing GUC starts out false, we miss the
 -- initial "attempting" audit message from the ProcessUtility_hook, but we
@@ -20,17 +22,21 @@
 -- right privileges, not overly conservative ones.
 GRANT SET ON PARAMETER test_oat_hooks.user_var2 TO regress_role_joe;
 NOTICE:  in process utility: superuser attempting GRANT
+WARNING:  detected write past chunk end in PortalContext 0x58fe88b0
 NOTICE:  in process utility: superuser finished GRANT
 GRANT SET ON PARAMETER test_oat_hooks.super_var2 TO regress_role_joe;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_pg_dump/expected/test_pg_dump.out /tmp/cirrus-ci-build/build-32/test...
--- /tmp/cirrus-ci-build/src/test/modules/test_pg_dump/expected/test_pg_dump.out	2026-03-01 13:36:34.211480055 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_pg_dump/regress/results/test_pg_dump.out	2026-03-01 13:51:50.403982668 +0...
@@ -1,5 +1,6 @@
 CREATE ROLE regress_dump_test_role;
 CREATE EXTENSION test_pg_dump;
+WARNING:  detected write past chunk end in execute_sql_string per-statement context 0x5a3fe43c
 ALTER EXTENSION test_pg_dump ADD DATABASE postgres; -- error
 ERROR:  cannot add an object of this type to an extension
 CREATE TABLE test_pg_dump_t1 (c1 int, junk text);
@@ -7,6 +8,7 @@
 CREATE VIEW test_pg_dump_v1 AS SELECT * FROM test_pg_dump_t1;
 CREATE MATERIALIZED VIEW test_pg_dump_mv1 AS SELECT * FROM test_pg_dump_t1;
 CREATE SCHEMA test_pg_dump_s1;
+WARNING:  detected write past chunk end in PortalContext 0x5a3f8d4c
 CREATE TYPE test_pg_dump_e1 AS ENUM ('abc', 'def');
 CREATE AGGREGATE newavg (
    sfunc = int4_avg_accum, basetype = int4, stype = _int8,
@@ -289,6 +291,7 @@
 CREATE ROLE regress_dump_test_super SUPERUSER;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_predtest/expected/test_predtest.out /tmp/cirrus-ci-build/build-32/te...
--- /tmp/cirrus-ci-build/src/test/modules/test_predtest/expected/test_predtest.out	2026-03-01 13:36:34.211480055 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_predtest/regress/results/test_predtest.out	2026-03-01 13:51:50.075981340 ...
@@ -27,6 +27,8 @@
 select x, x
 from booleans
 $$);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59f91880, chunk 0x59f91b30
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59f91880, chunk 0x59f91b30
 -[ RECORD 1 ]-----+--
 strong_implied_by | t
 weak_implied_by   | t
@@ -41,6 +43,8 @@
 select x, not x
 from booleans
 $$);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59f8d860, chunk 0x59f8db10
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x59f8d860, chunk 0x59f8db10
 -[ RECORD 1 ]-----+--
 strong_implied_by | f
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_tidstore/expected/test_tidstore.out /tmp/cirrus-ci-build/build-32/te...
--- /tmp/cirrus-ci-build/src/test/modules/test_tidstore/expected/test_tidstore.out	2026-03-01 13:36:34.219452097 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_tidstore/regress/results/test_tidstore.out	2026-03-01 13:51:56.800008622 ...
@@ -1,6 +1,12 @@
 CREATE EXTENSION test_tidstore;
 -- To hide the output of do_set_block_offsets()
 CREATE TEMP TABLE hideblocks(blockno bigint);
+WARNING:  detected write past chunk end in PortalContext 0x59a6e58c
+LINE 1: CREATE TEMP TABLE hideblocks(blockno bigint);
+                          ^
+WARNING:  detected write past chunk end in PortalContext 0x59a658b0
+LINE 1: CREATE TEMP TABLE hideblocks(blockno bigint);
+                          ^
 -- Constant values used in the tests.
 \set maxblkno 4294967295
 -- The maximum number of heap tuples (MaxHeapTuplesPerPage) in 8kB block is 291.
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/rolenames.out /tmp/cirrus-ci-build/build-32/testrun...
--- /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/rolenames.out	2026-03-01 13:36:34.223438118 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/unsafe_tests/regress/results/rolenames.out	2026-03-01 13:51:58.800016758 +0000
@@ -533,11 +533,17 @@
 ERROR:  role "nonexistent" does not exist
 -- CREATE SCHEMA
 CREATE SCHEMA newschema1 AUTHORIZATION CURRENT_USER;
+WARNING:  detected write past chunk end in PortalContext 0x58f6d85c
 CREATE SCHEMA newschema2 AUTHORIZATION "current_user";
+WARNING:  detected write past chunk end in PortalContext 0x58f6d94c
 CREATE SCHEMA newschema3 AUTHORIZATION CURRENT_ROLE;
+WARNING:  detected write past chunk end in PortalContext 0x58f6d94c
 CREATE SCHEMA newschema4 AUTHORIZATION SESSION_USER;
+WARNING:  detected write past chunk end in PortalContext 0x58f6d94c
 CREATE SCHEMA newschema5 AUTHORIZATION regress_testrolx;
+WARNING:  detected write past chunk end in PortalContext 0x58f6d894
 CREATE SCHEMA newschema6 AUTHORIZATION "Public";
+WARNING:  detected write past chunk end in PortalContext 0x58f6d94c
 CREATE SCHEMA newschemax AUTHORIZATION USER; -- error
 ERROR:  syntax error at or near "USER"
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/xml2/expected/xml2.out /tmp/cirrus-ci-build/build-32/testrun/xml2/regress/results/...
--- /tmp/cirrus-ci-build/contrib/xml2/expected/xml2.out	2026-03-01 13:36:32.530386228 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/xml2/regress/results/xml2.out	2026-03-01 13:51:28.783895773 +0000
@@ -98,6 +98,8 @@
             '/article/author|/article/pages|/article/title',
             'date_entered > ''2003-01-01'' ')
 AS t(article_id integer, author text, page_count integer, title text);
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5918c5f0, chunk 0x5918c604
+WARNING:  problem in alloc set ExecutorState: detected write past chunk end in block 0x5918c5f0, chunk 0x5918c604
  article_id | author | page_count | title 
 ------------+--------+------------+-------
           2 | test   |         37 | 
58/6410 Enhance btree's pageinspect
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/btree.out C:/cirrus/build/testrun/pageinspect/regres...
--- C:/cirrus/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:29.368101900 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/btree.out	2026-03-01 12:39:47.054528900 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/btree.out C:/cirrus/build/testrun/pageinspect/regres...
--- C:/cirrus/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:37.648379600 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/btree.out	2026-03-01 12:39:28.003834700 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/contrib/pageinspect/expected/btree.out /Users/admin/pgsql/build/testrun/pageinspect/regress/...
--- /Users/admin/pgsql/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:14
+++ /Users/admin/pgsql/build/testrun/pageinspect/regress/results/btree.out	2026-03-01 12:35:14
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regr...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:31.330367242 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/btree.out	2026-03-01 12:34:24.409883607 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/contrib/pageinspect/results/bt...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:31.225607995 +0000
+++ /tmp/cirrus-ci-build/contrib/pageinspect/results/btree.out	2026-03-01 12:34:56.860619840 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regr...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:34.467812000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/btree.out	2026-03-01 12:33:38.476111000 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pageinspect/expected/btree.out /home/postgres/postgres/build/testrun/pageinspec...
--- /home/postgres/postgres/contrib/pageinspect/expected/btree.out	2026-03-01 12:30:42.089549037 +0000
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/btree.out	2026-03-01 12:33:10.359036479 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pageinspect/expected/btree.out /home/postgres/postgres/build/testrun/pageinspec...
--- /home/postgres/postgres/contrib/pageinspect/expected/btree.out	Sun Mar  1 12:30:50 2026
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/btree.out	Sun Mar  1 12:35:44 2026
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
58/6388 pageinspect support for SpGiST
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/spgist.out C:/cirrus/build/testrun/pageinspect/regre...
--- C:/cirrus/contrib/pageinspect/expected/spgist.out	2026-03-01 10:51:00.205391900 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/spgist.out	2026-03-01 11:00:52.445833900 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/contrib/pageinspect/expected/spgist.out /Users/admin/pgsql/build/testrun/pageinspect/regress...
--- /Users/admin/pgsql/contrib/pageinspect/expected/spgist.out	2026-03-01 10:49:08
+++ /Users/admin/pgsql/build/testrun/pageinspect/regress/results/spgist.out	2026-03-01 10:54:43
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/spgist.out /tmp/cirrus-ci-build/build/testrun/pageinspect/reg...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/spgist.out	2026-03-01 10:49:08.227102630 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/spgist.out	2026-03-01 10:53:38.304675433 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/spgist.out C:/cirrus/build/testrun/pageinspect/regre...
--- C:/cirrus/contrib/pageinspect/expected/spgist.out	2026-03-01 10:50:33.652409600 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/spgist.out	2026-03-01 10:59:23.785541700 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pageinspect/expected/spgist.out /home/postgres/postgres/build/testrun/pageinspe...
--- /home/postgres/postgres/contrib/pageinspect/expected/spgist.out	2026-03-01 10:50:48.957460074 +0000
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/spgist.out	2026-03-01 10:53:40.075915489 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/spgist.out /tmp/cirrus-ci-build/build/testrun/pageinspect/reg...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/spgist.out	2026-03-01 10:49:31.177808000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/spgist.out	2026-03-01 10:52:48.862521000 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
58/6531 Use standard C23 and C++ attributes if available
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/isolation/expected/timeouts.out /home/postgres/postgres/build/testrun/isolatio...
--- /home/postgres/postgres/src/test/isolation/expected/timeouts.out	2026-03-01 10:06:53.110975924 +0000
+++ /home/postgres/postgres/build/testrun/isolation/isolation/results/timeouts.out	2026-03-01 10:11:26.792773052 +0000
@@ -11,7 +11,7 @@
 step sto: SET statement_timeout = '10ms';
 step locktbl: LOCK TABLE accounts; <waiting ...>
 step locktbl: <... completed>
-ERROR:  canceling statement due to statement timeout
+ERROR:  canceling statement due to user request
 
 starting permutation: rdtbl lto locktbl
 step rdtbl: SELECT * FROM accounts;
58/6432 docs: warn about post-data-only schema dumps with parallel restore.
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out /tmp/cirrus-ci-build/build/testrun/postgres...
--- /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-01 09:35:30.707540000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/postgres_fdw-running/regress/results/postgres_fdw.out	2026-03-01 09:43:40.7109480...
@@ -12724,8 +12724,7 @@
   FROM postgres_fdw_get_connections(true);
  server_name | closed | remote_backend_pid 
 -------------+--------+--------------------
- loopback    | t      | t
-(1 row)
+(0 rows)
 
 -- Clean up
 \set VERBOSITY default
58/6543 synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/guc_privs.out /tmp/cirrus-ci-build/build/testrun/un...
--- /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:38:15.645157170 +0000
+++ /tmp/cirrus-ci-build/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-01 07:42:49.372240720 +0000
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/modules/unsafe_tests/expected/guc_privs.out /home/postgres/postgres/build/test...
--- /home/postgres/postgres/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:39:17.656882028 +0000
+++ /home/postgres/postgres/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-01 07:42:03.364989035 +0000
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/modules/unsafe_tests/expected/guc_privs.out /Users/admin/pgsql/build/testrun/unsafe...
--- /Users/admin/pgsql/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:38:20
+++ /Users/admin/pgsql/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-01 07:45:12
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/guc_privs.out /tmp/cirrus-ci-build/src/test/modules...
--- /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:39:57.386693922 +0000
+++ /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/results/guc_privs.out	2026-03-01 07:45:36.594869706 +0000
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/modules/unsafe_tests/expected/guc_privs.out /home/postgres/postgres/build/test...
--- /home/postgres/postgres/src/test/modules/unsafe_tests/expected/guc_privs.out	Sun Mar  1 07:38:31 2026
+++ /home/postgres/postgres/build/testrun/unsafe_tests/regress/results/guc_privs.out	Sun Mar  1 07:43:52 2026
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/unsafe_tests/expected/guc_privs.out C:/cirrus/build/testrun/unsa...
--- C:/cirrus/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:38:45.676444600 +0000
+++ C:/cirrus/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-01 07:48:17.003347700 +0000
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/guc_privs.out /tmp/cirrus-ci-build/build/testrun/un...
--- /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:38:14.895773000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-01 07:42:22.406591000 +0000
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/unsafe_tests/expected/guc_privs.out C:/cirrus/build/testrun/unsa...
--- C:/cirrus/src/test/modules/unsafe_tests/expected/guc_privs.out	2026-03-01 07:38:40.040462000 +0000
+++ C:/cirrus/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-01 07:51:09.522371300 +0000
@@ -590,8 +590,7 @@
 -- Cannot set synchronized_standby_slots to an invalid slot name
 ALTER SYSTEM SET synchronized_standby_slots='invalid*';
 ERROR:  invalid value for parameter "synchronized_standby_slots": "invalid*"
-DETAIL:  replication slot name "invalid*" contains invalid character
-HINT:  Replication slot names may only contain lower case letters, numbers, and the underscore character.
+DETAIL:  syntax error at or near "*"
 -- Can set synchronized_standby_slots to a non-existent slot name
 ALTER SYSTEM SET synchronized_standby_slots='missing';
 -- Reset the GUC
58/6436 Add `tsmatch` JSONPath operator for granular Full Text Search
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_u...
--- /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out	2026-03-01 04:40:59.944404170 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/jsonb.out	2026-03-01 04:45:37.303473586 +0...
@@ -3509,2446 +3509,10 @@
 --gin path opclass
 DROP INDEX jidx;
 CREATE INDEX CONCURRENTLY jidx ON testjsonb USING gin (j jsonb_path_ops);
-SET enable_seqscan = off;
-SELECT count(*) FROM testjsonb WHERE j @> '{"wait":null}';
- count 
--------
-     1
-(1 row)
-
-SELECT count(*) FROM testjsonb WHERE j @> '{"wait":"CC"}';
- count 
--------
-    15
-(1 row)
-
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream...
--- /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out	2026-03-01 04:40:59.944404170 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonb.out	2026-03-01 04:47:06.019422638 ...
@@ -2915,3040 +2915,10 @@
 (1 row)
 
 select * from jsonb_to_record('{"out": [{"key": 1}]}') as x(out json);
-     out      
---------------
- [{"key": 1}]
-(1 row)
-
-select * from jsonb_to_record('{"out": "{\"key\": 1}"}') as x(out json);
-      out       
-----------------
- "{\"key\": 1}"
-(1 row)
-
-select * from jsonb_to_record('{"out": {"key": 1}}') as x(out jsonb);
-    out     
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out /tmp/cirrus-ci-build/build/testrun/regress/regress/res...
--- /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out	2026-03-01 04:40:59.944404170 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/jsonb.out	2026-03-01 04:45:34.847475452 +0000
@@ -3399,2556 +3399,10 @@
 
 -- array exists - array elements should behave as keys (for GIN index scans too)
 CREATE INDEX jidx_array ON testjsonb USING gin((j->'array'));
-SELECT count(*) from testjsonb  WHERE j->'array' ? 'bar';
- count 
--------
-     3
-(1 row)
-
--- type sensitive array exists - should return no rows (since "exists" only
--- matches strings that are either object keys or array elements)
-SELECT count(*) from testjsonb  WHERE j->'array' ? '5'::text;
- count 
--------
-     0
-(1 row)
...
60/6099 Support EXCEPT tables in publications
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/publication.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/publication.out	2026-03-01 03:35:35.947215900 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	2026-03-01 03:40:26.794133500 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/publication.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/publication.out	2026-03-01 03:35:35.947215900 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/publication.out	2026-03-01 03:44:09.663937500 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/publication.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/publication.out	2026-03-01 03:35:35.947215900 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/publication.out	2026-03-01 03:40:24.504099400 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/publication.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/publication.out	2026-03-01 03:34:35.520070500 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	2026-03-01 03:40:07.919617000 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/publication.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/publication.out	2026-03-01 03:34:35.520070500 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/publication.out	2026-03-01 03:43:27.734679400 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/publication.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/publication.out	2026-03-01 03:34:35.520070500 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/publication.out	2026-03-01 03:40:02.225741900 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/publication.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg...
--- /Users/admin/pgsql/src/test/regress/expected/publication.out	2026-03-01 03:34:16
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	2026-03-01 03:38:41
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/publication.out /Users/admin/pgsql/build/testrun/recovery/027_stre...
--- /Users/admin/pgsql/src/test/regress/expected/publication.out	2026-03-01 03:34:16
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/publication.out	2026-03-01 03:40:53
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/publication.out /Users/admin/pgsql/build/testrun/regress/regress/r...
--- /Users/admin/pgsql/src/test/regress/expected/publication.out	2026-03-01 03:34:16
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/publication.out	2026-03-01 03:38:41
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:34:54.288253758 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	2026-03-01 03:40:29.661226...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/recovery/027_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:34:54.288253758 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/publication.out	2026-03-01 03:42:07.3691...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/regress/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:34:54.288253758 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/publication.out	2026-03-01 03:40:26.637253833 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/publication.out /home/postgres/postgres/build/testrun/pg_upgr...
--- /home/postgres/postgres/src/test/regress/expected/publication.out	Sun Mar  1 03:34:41 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	Sun Mar  1 03:39:12 202...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/publication.out /home/postgres/postgres/build/testrun/recover...
--- /home/postgres/postgres/src/test/regress/expected/publication.out	Sun Mar  1 03:34:41 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/publication.out	Sun Mar  1 03:41:32 2...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/publication.out /home/postgres/postgres/build/testrun/regress...
--- /home/postgres/postgres/src/test/regress/expected/publication.out	Sun Mar  1 03:34:41 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/publication.out	Sun Mar  1 03:39:05 2026
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/publication.out /home/postgres/postgres/build/testrun/pg_upgr...
--- /home/postgres/postgres/src/test/regress/expected/publication.out	2026-03-01 03:34:50.522036117 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	2026-03-01 03:38:17.216...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/publication.out /home/postgres/postgres/build/testrun/recover...
--- /home/postgres/postgres/src/test/regress/expected/publication.out	2026-03-01 03:34:50.522036117 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/publication.out	2026-03-01 03:39:08.4...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/publication.out /home/postgres/postgres/build/testrun/regress...
--- /home/postgres/postgres/src/test/regress/expected/publication.out	2026-03-01 03:34:50.522036117 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/publication.out	2026-03-01 03:38:16.050601748 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:35:33.978435000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/publication.out	2026-03-01 03:39:53.599369...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/recovery/027_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:35:33.978435000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/publication.out	2026-03-01 03:41:22.8758...
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/regress/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:35:33.978435000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/publication.out	2026-03-01 03:39:45.753131000 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_chec...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:34:31.828891918 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/publication.out	2026-03-01 03:43:12.512413515 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:34:31.828891918 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/publication.out	2026-03-01 03:44:32.084034696 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/src/test/regress/results/pu...
--- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out	2026-03-01 03:34:31.828891918 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/publication.out	2026-03-01 03:40:42.581546280 +0000
@@ -243,10 +243,10 @@
 -- the optional TABLE keyword.
 CREATE PUBLICATION testpub_foralltables_excepttable FOR ALL TABLES EXCEPT TABLE (testpub_tbl1, testpub_tbl2);
 \dRp+ testpub_foralltables_excepttable
-                                          Publication testpub_foralltables_excepttable
-          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
---------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
- regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
+                                                 Publication testpub_foralltables_excepttable
+          Owner           | All tables | All sequences | Inserts | Updates | Deletes | Truncates | Generated columns | ...
+--------------------------+------------+---------------+---------+---------+---------+-----------+-------------------+-...
+ regress_publication_user | t          | f             | t       | t       | t       | t         | none              | ...
 Except tables:
     "public.testpub_tbl1"
     "public.testpub_tbl2"
@@ -254,10 +254,10 @@
 -- Specify table in the EXCEPT clause of a FOR ALL TABLES publication
...
58/5556 Expanding HOT updates for expression and partial indexes
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/triggers.out C:/cirrus/build/testrun/pg_upgrade/002_pg_...
--- C:/cirrus/src/test/regress/expected/triggers.out	2026-02-28 22:28:12.969352000 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/triggers.out	2026-02-28 22:32:41.532840100 +0000
@@ -277,8 +277,8 @@
 NOTICE:  trigger_func(delete_when) called: action = DELETE, when = AFTER, level = STATEMENT
 UPDATE main_table SET a = 50, b = 60;
 NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
-NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
+NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/triggers.out C:/cirrus/build/testrun/recovery/027_strea...
--- C:/cirrus/src/test/regress/expected/triggers.out	2026-02-28 22:28:12.969352000 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/triggers.out	2026-02-28 22:35:53.514214900 +0000
@@ -277,8 +277,8 @@
 NOTICE:  trigger_func(delete_when) called: action = DELETE, when = AFTER, level = STATEMENT
 UPDATE main_table SET a = 50, b = 60;
 NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
-NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
+NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_p...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-28 22:27:27.666067374 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/triggers.out	2026-02-28 22:31:51.172745645...
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/regress/regress/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-28 22:27:27.666067374 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/triggers.out	2026-02-28 22:31:50.788743029 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/triggers.out C:/cirrus/build/testrun/pg_upgrade/002_pg_...
--- C:/cirrus/src/test/regress/expected/triggers.out	2026-02-28 22:29:09.174299400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/triggers.out	2026-02-28 22:32:30.742763100 +0000
@@ -277,8 +277,8 @@
 NOTICE:  trigger_func(delete_when) called: action = DELETE, when = AFTER, level = STATEMENT
 UPDATE main_table SET a = 50, b = 60;
 NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
-NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
+NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/triggers.out C:/cirrus/build/testrun/regress/regress/re...
--- C:/cirrus/src/test/regress/expected/triggers.out	2026-02-28 22:29:09.174299400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/triggers.out	2026-02-28 22:32:23.561758300 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/triggers.out /Users/admin/pgsql/build/testrun/recovery/027_stream_...
--- /Users/admin/pgsql/src/test/regress/expected/triggers.out	2026-02-28 22:26:42
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/triggers.out	2026-02-28 22:30:48
@@ -961,12 +961,12 @@
 -- Delete from view using trigger
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/regress-running/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-28 22:26:54.093090000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress-running/regress/results/triggers.out	2026-02-28 22:35:53.629858000 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/triggers.out /home/postgres/postgres/build/testrun/regress/re...
--- /home/postgres/postgres/src/test/regress/expected/triggers.out	Sat Feb 28 22:28:44 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/triggers.out	Sat Feb 28 22:32:39 2026
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-28 22:28:07.831879677 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/triggers.out	2026-02-28 22:36:53.270638306 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
54/5087 Doc: Move and modify standalone hot backups section
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/postgres_fdw/expected/query_cancel.out /home/postgres/postgres/build/testrun/po...
--- /home/postgres/postgres/contrib/postgres_fdw/expected/query_cancel.out	2026-02-28 22:03:49.812858512 +0000
+++ /home/postgres/postgres/build/testrun/postgres_fdw/regress/results/query_cancel.out	2026-02-28 22:11:07.097715363 +0...
@@ -30,5 +30,5 @@
 SET LOCAL statement_timeout = '10ms';
 -- This would take very long if not canceled:
 SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d;
-ERROR:  canceling statement due to statement timeout
+ERROR:  canceling statement due to user request
 COMMIT;
58/5018 Extension security improvement: Add support for extensions with an owned schema
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out /tmp/cirrus-ci-build/build/t...
--- /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out	2026-02-28 16:56:17.634540000 +00...
+++ /tmp/cirrus-ci-build/build/testrun/test_extensions/regress/results/test_extensions.out	2026-02-28 17:00:43.053007000...
@@ -755,6 +755,7 @@
 ERROR:  schema "some_other_name" does not exist
 -- Test owned_schema + superuser=false extension
 CREATE USER test_ext_user;
+WARNING:  roles created by regression test cases should have names starting with "regress_"
 GRANT CREATE ON DATABASE regression_test_extensions TO test_ext_user;
 SET SESSION AUTHORIZATION test_ext_user;
 CREATE EXTENSION test_ext_owned_schema_nosuperuser;
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out /tmp/cirrus-ci-build/src/tes...
--- /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out	2026-02-28 16:56:09.560656340 +00...
+++ /tmp/cirrus-ci-build/src/test/modules/test_extensions/results/test_extensions.out	2026-02-28 17:01:48.620247767 +000...
@@ -756,71 +756,48 @@
 -- Test owned_schema + superuser=false extension
 CREATE USER test_ext_user;
 GRANT CREATE ON DATABASE regression_test_extensions TO test_ext_user;
+ERROR:  database "regression_test_extensions" does not exist
 SET SESSION AUTHORIZATION test_ext_user;
 CREATE EXTENSION test_ext_owned_schema_nosuperuser;
+ERROR:  permission denied for database contrib_regression
 \dx+ test_ext_owned_schema_nosuperuser;
-Objects in extension "test_ext_owned_schema_nosuperuser"
-               Object description                
--------------------------------------------------
- function test_owned_schema_nosuperuser.owned1()
- schema test_owned_schema_nosuperuser
-(2 rows)
-
 -- Check that schema is owned by the creating user (not bootstrap superuser)
...
58/6180 minor error message enhance: print RLS policy name when only one permissive policy exists
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:46.715619481 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-28 08:32:38.853764...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:46.715619481 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-28 08:34:04.8368...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/regress/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:46.715619481 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rowsecurity.out	2026-02-28 08:32:38.621729764 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:50.642559800 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-28 08:34:17.627507400 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:50.642559800 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-28 08:37:42.826751300 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:50.642559800 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/rowsecurity.out	2026-02-28 08:34:10.114331800 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:02.688061100 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-28 08:33:47.663571500 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:02.688061100 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-28 08:37:30.120534700 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:02.688061100 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/rowsecurity.out	2026-02-28 08:33:41.846662300 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:50
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-28 08:34:20
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/recovery/027_stre...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:50
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-28 08:36:42
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/regress/regress/r...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:50
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/rowsecurity.out	2026-02-28 08:34:22
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:45.748270000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-28 08:32:36.108808...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:45.748270000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-28 08:33:54.1013...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/regress/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:30:45.748270000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rowsecurity.out	2026-02-28 08:32:45.152278000 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_chec...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:02.867890470 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/rowsecurity.out	2026-02-28 08:36:30.808022849 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:02.867890470 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/rowsecurity.out	2026-02-28 08:38:08.078850713 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/src/test/regress/results/ro...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:02.867890470 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/rowsecurity.out	2026-02-28 08:34:02.907964435 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/pg_upgr...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:12.095023112 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-28 08:32:37.711...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/recover...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:12.095023112 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-28 08:33:14.9...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/regress...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	2026-02-28 08:31:12.095023112 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rowsecurity.out	2026-02-28 08:32:35.120083550 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/pg_upgr...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	Sat Feb 28 08:30:57 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	Sat Feb 28 08:33:12 202...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/recover...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	Sat Feb 28 08:30:57 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	Sat Feb 28 08:35:06 2...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/regress...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	Sat Feb 28 08:30:57 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rowsecurity.out	Sat Feb 28 08:33:03 2026
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...