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.

59/6812 Fix qual pushdown past grouping with mismatched equivalence
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/subselect.out /home/postgres/postgres/build/testrun/recovery/...
--- /home/postgres/postgres/src/test/regress/expected/subselect.out	2026-06-01 17:07:29.177649285 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/subselect.out	2026-06-01 17:09:46.097...
@@ -2036,159 +2036,82 @@
 --
 BEGIN;
 CREATE TYPE t_rec AS (x numeric);
+ERROR:  type "t_rec" already exists
 CREATE TEMP TABLE pdt (id int, a t_rec);
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 INSERT INTO pdt VALUES
   (1, ROW(1.00)::t_rec),
   (2, ROW(1.0)::t_rec),
   (3, ROW(2)::t_rec);
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- DISTINCT ON: conflict, qual stays in outer query
 EXPLAIN (COSTS OFF)
 SELECT * FROM (SELECT DISTINCT ON (a) id, a FROM pdt ORDER BY a, id) s
 WHERE a *= ROW(1.0)::t_rec;
-              QUERY PLAN               
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/subselect.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/subselect.out	2026-06-01 17:07:28.919396115 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/subselect.out	2026-06-01 17:15:29.350395983 +0000
@@ -2036,159 +2036,82 @@
 --
 BEGIN;
 CREATE TYPE t_rec AS (x numeric);
+ERROR:  type "t_rec" already exists
 CREATE TEMP TABLE pdt (id int, a t_rec);
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 INSERT INTO pdt VALUES
   (1, ROW(1.00)::t_rec),
   (2, ROW(1.0)::t_rec),
   (3, ROW(2)::t_rec);
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- DISTINCT ON: conflict, qual stays in outer query
 EXPLAIN (COSTS OFF)
 SELECT * FROM (SELECT DISTINCT ON (a) id, a FROM pdt ORDER BY a, id) s
 WHERE a *= ROW(1.0)::t_rec;
-              QUERY PLAN               
...
59/6815 BUG Segfault triggered by reentrancy in ri_triggers.c
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select_parallel.out /tmp/cirrus-ci-build/build/testrun/regress-r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/select_parallel.out	2026-06-01 16:27:47.933623000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress-running/regress/results/select_parallel.out	2026-06-01 16:37:08.513911000...
@@ -593,9 +593,9 @@
          ->  Gather (actual rows=9800.00 loops=10)
                Workers Planned: 4
                Workers Launched: 4
-               ->  Parallel Seq Scan on tenk1 (actual rows=1960.00 loops=50)
+               ->  Parallel Seq Scan on tenk1 (actual rows=2882.35 loops=34)
                      Filter: (hundred > 1)
-                     Rows Removed by Filter: 40
+                     Rows Removed by Filter: 59
 (11 rows)
 
 alter table tenk2 reset (parallel_workers);
59/6216 Reduce unnecessary locking of pruned partitions when reusing cached plans
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/plancache.out /home/postgres/postgres/build/testrun/test_plan...
--- /home/postgres/postgres/src/test/regress/expected/plancache.out	2026-06-01 15:37:20.279325703 +0000
+++ /home/postgres/postgres/build/testrun/test_plan_advice/001_replan_regress/data/results/plancache.out	2026-06-01 15:4...
@@ -451,7 +451,6 @@
 -- during this execution, which should force replanning without errors.
 update inval_during_pruning_signal set create_idx = true;
 explain (verbose, costs off) execute inval_during_pruning_q;
-NOTICE:  creating index on partition inval_during_pruning_p1
                                 QUERY PLAN                                 
 ---------------------------------------------------------------------------
  Append
59/6763 Improve pg_stat_statements scalability
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/select.out /tmp/cirrus-ci-build/contrib/pg_stat_statem...
--- /tmp/cirrus-ci-build/contrib/pg_stat_statements/expected/select.out	2026-05-31 17:50:19.975968877 +0000
+++ /tmp/cirrus-ci-build/contrib/pg_stat_statements/results/select.out	2026-05-31 17:58:32.406714251 +0000
@@ -2,14 +2,14 @@
 -- SELECT statements
 --
 CREATE EXTENSION pg_stat_statements;
+ERROR:  extension "pg_stat_statements" has no installation script nor update path for version "1.14"
 SET pg_stat_statements.track_utility = FALSE;
 SET pg_stat_statements.track_planning = TRUE;
 SELECT pg_stat_statements_reset() IS NOT NULL AS t;
- t 
----
- t
-(1 row)
-
+ERROR:  function pg_stat_statements_reset() does not exist
+LINE 1: SELECT pg_stat_statements_reset() IS NOT NULL AS t;
+               ^
+DETAIL:  There is no function of that name.
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_ddl_deparse/expected/create_extension.out /tmp/cirrus-ci-build/src/t...
--- /tmp/cirrus-ci-build/src/test/modules/test_ddl_deparse/expected/create_extension.out	2026-05-31 17:50:21.627968912 +...
+++ /tmp/cirrus-ci-build/src/test/modules/test_ddl_deparse/results/create_extension.out	2026-05-31 17:58:35.990708071 +0...
@@ -2,4 +2,4 @@
 --- CREATE_EXTENSION
 ---
 CREATE EXTENSION pg_stat_statements;
-NOTICE:  DDL test: type simple, tag CREATE EXTENSION
+ERROR:  extension "pg_stat_statements" has no installation script nor update path for version "1.14"
59/6390 Add ldapservice connection parameter
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/date.out /home/postgres/postgres/build/testrun/test_plan_advi...
--- /home/postgres/postgres/src/test/regress/expected/date.out	2026-05-31 13:32:13.154793184 +0000
+++ /home/postgres/postgres/build/testrun/test_plan_advice/001_replan_regress/data/results/date.out	2026-05-31 13:33:11....
@@ -1,1536 +1,2 @@
---
--- DATE
---
-CREATE TABLE DATE_TBL (f1 date);
-INSERT INTO DATE_TBL VALUES ('1957-04-09');
-INSERT INTO DATE_TBL VALUES ('1957-06-13');
-INSERT INTO DATE_TBL VALUES ('1996-02-28');
-INSERT INTO DATE_TBL VALUES ('1996-02-29');
-INSERT INTO DATE_TBL VALUES ('1996-03-01');
-INSERT INTO DATE_TBL VALUES ('1996-03-02');
-INSERT INTO DATE_TBL VALUES ('1997-02-28');
-INSERT INTO DATE_TBL VALUES ('1997-02-29');
-ERROR:  date/time field value out of range: "1997-02-29"
-LINE 1: INSERT INTO DATE_TBL VALUES ('1997-02-29');
-                                     ^
-INSERT INTO DATE_TBL VALUES ('1997-03-01');
...
59/6426 Avoid recalculating pgprocno in ProcArrayAdd()
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-05-31 11:28:55.110280000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/postgres_fdw-running/regress/results/postgres_fdw.out	2026-05-31 11:39:23.7216590...
@@ -12966,8 +12966,7 @@
   FROM postgres_fdw_get_connections(true);
  server_name | closed | remote_backend_pid 
 -------------+--------+--------------------
- loopback    | f      | t
-(1 row)
+(0 rows)
 
 -- After terminating the remote backend, since the connection is closed,
 -- "closed" should be TRUE, or NULL if the connection status check
@@ -12983,8 +12982,7 @@
   FROM postgres_fdw_get_connections(true);
  server_name | closed | remote_backend_pid 
 -------------+--------+--------------------
- loopback    | t      | t
-(1 row)
+(0 rows)
...
59/4337 Incremental View Maintenance (IVM), take 2
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/incremental_matview.out C:/cirrus/build/testrun/pg_upgr...
--- C:/cirrus/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:16.952357200 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/incremental_matview.out	2026-05-31 05:25:42.313678500...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/incremental_matview.out C:/cirrus/build/testrun/recover...
--- C:/cirrus/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:16.952357200 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/incremental_matview.out	2026-05-31 05:29:43.1960107...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/incremental_matview.out C:/cirrus/build/testrun/regress...
--- C:/cirrus/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:16.952357200 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/incremental_matview.out	2026-05-31 05:25:36.112985300 +0000
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/incremental_matview.out C:/cirrus/build/testrun/test_pl...
--- C:/cirrus/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:16.952357200 +0000
+++ C:/cirrus/build/testrun/test_plan_advice/001_replan_regress/data/results/incremental_matview.out	2026-05-31 05:25:41...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out /Users/admin/pgsql/build/testrun/pg_upgrad...
--- /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out	2026-05-31 05:20:33
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/incremental_matview.out	2026-05-31 05:26:53
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out /Users/admin/pgsql/build/testrun/recovery/...
--- /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out	2026-05-31 05:20:33
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/incremental_matview.out	2026-05-31 05:28:4...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out /Users/admin/pgsql/build/testrun/regress/r...
--- /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out	2026-05-31 05:20:33
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/incremental_matview.out	2026-05-31 05:26:49
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out /Users/admin/pgsql/build/testrun/test_plan...
--- /Users/admin/pgsql/src/test/regress/expected/incremental_matview.out	2026-05-31 05:20:33
+++ /Users/admin/pgsql/build/testrun/test_plan_advice/001_replan_regress/data/results/incremental_matview.out	2026-05-31...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/pg_up...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:18.581622911 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/incremental_matview.out	2026-05-31 05:26:3...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/recov...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:18.581622911 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/incremental_matview.out	2026-05-31 05:28...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:18.581622911 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/incremental_matview.out	2026-05-31 05:26:29.648393454 +00...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/test_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:18.581622911 +0000
+++ /tmp/cirrus-ci-build/build/testrun/test_plan_advice/001_replan_regress/data/results/incremental_matview.out	2026-05-...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/pg_up...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:15.700393000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/incremental_matview.out	2026-05-31 05:25:1...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/recov...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:15.700393000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/incremental_matview.out	2026-05-31 05:26...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:15.700393000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/incremental_matview.out	2026-05-31 05:25:03.827821000 +00...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/build/testrun/test_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:15.700393000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/test_plan_advice/001_replan_regress/data/results/incremental_matview.out	2026-05-...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/incremental_matview.out /home/postgres/postgres/build/testrun...
--- /home/postgres/postgres/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:40.864677627 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/incremental_matview.out	2026-05-31 05:2...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/incremental_matview.out /home/postgres/postgres/build/testrun...
--- /home/postgres/postgres/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:40.864677627 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/incremental_matview.out	2026-05-31 05...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/incremental_matview.out /home/postgres/postgres/build/testrun...
--- /home/postgres/postgres/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:40.864677627 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/incremental_matview.out	2026-05-31 05:24:55.926112296 ...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/incremental_matview.out /home/postgres/postgres/build/testrun...
--- /home/postgres/postgres/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:40.864677627 +0000
+++ /home/postgres/postgres/build/testrun/test_plan_advice/001_replan_regress/data/results/incremental_matview.out	2026-...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:25.430109571 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/incremental_matview.out	2026-05-31 05:30:20.565769961 +000...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/src/test/modules/te...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:25.430109571 +0000
+++ /tmp/cirrus-ci-build/src/test/modules/test_plan_advice/tmp_check/results/incremental_matview.out	2026-05-31 05:33:36...
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/src/test/recovery/t...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:25.430109571 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/incremental_matview.out	2026-05-31 05:32:37.049716856 +0000
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out /tmp/cirrus-ci-build/src/test/regress/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_matview.out	2026-05-31 05:21:25.430109571 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/incremental_matview.out	2026-05-31 05:27:47.685846531 +0000
@@ -544,7 +544,7 @@
 ROLLBACK;
 BEGIN;
 CREATE INCREMENTAL MATERIALIZED VIEW mv_ivm_agg(a,b,c) AS SELECT i, SUM(j) FROM mv_base_a GROUP BY i;
-ERROR:  too many column names were specified
+NOTICE:  created index "mv_ivm_agg_index" on materialized view "mv_ivm_agg"
 ROLLBACK;
 -- support self join view and multiple change on the same table
 BEGIN;
59/6543 synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication
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-05-31 00:43:34.551149400 +0000
+++ C:/cirrus/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-05-31 00:53:49.964206300 +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-05-31 00:43:24
+++ /Users/admin/pgsql/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-05-31 00:50:21
@@ -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 - 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-05-31 00:43:30.913913697 +0000
+++ /tmp/cirrus-ci-build/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-05-31 00:48:45.972040833 +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
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-05-31 00:43:39.906504790 +0000
+++ /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/results/guc_privs.out	2026-05-31 00:51:33.474593210 +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-05-31 00:43:49.460238952 +0000
+++ /home/postgres/postgres/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-05-31 00:46:50.137671686 +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-05-31 00:43:29.451504000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-05-31 00:48:13.359436000 +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
59/6610 ORDER BY ALL
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/pl/plpgsql/src/expected/plpgsql_misc.out C:/cirrus/build/testrun/plpgsql/regr...
--- C:/cirrus/src/pl/plpgsql/src/expected/plpgsql_misc.out	2026-05-29 04:15:50.119810500 +0000
+++ C:/cirrus/build/testrun/plpgsql/regress/results/plpgsql_misc.out	2026-05-29 04:23:56.552652700 +0000
@@ -194,7 +194,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  1 | bar | 2.5
  1 | qux | 1.5
@@ -210,7 +210,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_desc_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  3 | foo | 1.5
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/pl/plpgsql/src/expected/plpgsql_misc.out /Users/admin/pgsql/build/testrun/plpgsql/regres...
--- /Users/admin/pgsql/src/pl/plpgsql/src/expected/plpgsql_misc.out	2026-05-29 04:15:16
+++ /Users/admin/pgsql/build/testrun/plpgsql/regress/results/plpgsql_misc.out	2026-05-29 04:20:50
@@ -194,7 +194,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  1 | bar | 2.5
  1 | qux | 1.5
@@ -210,7 +210,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_desc_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  3 | foo | 1.5
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_misc.out /tmp/cirrus-ci-build/build/testrun/plpgsql/re...
--- /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_misc.out	2026-05-29 04:16:12.944027376 +0000
+++ /tmp/cirrus-ci-build/build/testrun/plpgsql/regress/results/plpgsql_misc.out	2026-05-29 04:22:47.935802167 +0000
@@ -194,7 +194,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  1 | bar | 2.5
  1 | qux | 1.5
@@ -210,7 +210,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_desc_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  3 | foo | 1.5
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/pl/plpgsql/src/expected/plpgsql_misc.out /home/postgres/postgres/build/testrun/plpg...
--- /home/postgres/postgres/src/pl/plpgsql/src/expected/plpgsql_misc.out	2026-05-29 04:16:14.222286765 +0000
+++ /home/postgres/postgres/build/testrun/plpgsql/regress/results/plpgsql_misc.out	2026-05-29 04:20:11.431788728 +0000
@@ -194,7 +194,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  1 | bar | 2.5
  1 | qux | 1.5
@@ -210,7 +210,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_desc_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  3 | foo | 1.5
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_misc.out /tmp/cirrus-ci-build/src/pl/plpgsql/src/resul...
--- /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_misc.out	2026-05-29 04:15:34.546408934 +0000
+++ /tmp/cirrus-ci-build/src/pl/plpgsql/src/results/plpgsql_misc.out	2026-05-29 04:19:37.441094521 +0000
@@ -194,7 +194,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  1 | bar | 2.5
  1 | qux | 1.5
@@ -210,7 +210,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_desc_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  3 | foo | 1.5
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_misc.out /tmp/cirrus-ci-build/build/testrun/plpgsql/re...
--- /tmp/cirrus-ci-build/src/pl/plpgsql/src/expected/plpgsql_misc.out	2026-05-29 04:15:53.914402000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/plpgsql/regress/results/plpgsql_misc.out	2026-05-29 04:20:10.074342000 +0000
@@ -194,7 +194,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  1 | bar | 2.5
  1 | qux | 1.5
@@ -210,7 +210,7 @@
 end;
 $$ language plpgsql;
 select * from test_order_by_all_desc_return();
- a |  b  |  c
+ a |  b  |  c  
 ---+-----+-----
  3 | foo | 1.5
...
59/6805 BUG Segfault triggered by reentrancy in ri_triggers.c
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/foreign_key.out /tmp/cirrus-ci-build/build/testrun/test_plan_adv...
--- /tmp/cirrus-ci-build/src/test/regress/expected/foreign_key.out	2026-05-27 14:46:57.030826226 +0000
+++ /tmp/cirrus-ci-build/build/testrun/test_plan_advice/001_replan_regress/data/results/foreign_key.out	2026-05-27 14:51...
@@ -262,3453 +262,7 @@
 
 -- Delete another row from PK TABLE
 DELETE FROM PKTABLE WHERE ptest1=5 and ptest2=10;
--- Check FKTABLE (should be no change)
-SELECT * FROM FKTABLE;
- ftest1 | ftest2 | ftest3 
---------+--------+--------
-      1 |      3 |      5
-      2 |      4 |      8
-      3 |      6 |     12
-        |        |      0
-     -1 |     -2 |      4
-(5 rows)
-
--- Update a row from PK TABLE
-UPDATE PKTABLE SET ptest1=1 WHERE ptest1=2;
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/foreign_key.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/foreign_key.out	2026-05-27 14:47:38.829100200 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/foreign_key.out	2026-05-27 14:52:55.150134200 +0000
@@ -1612,2103 +1612,7 @@
 update pp set f1=f1+1;
 insert into cc values(13);
 update pp set f1=f1+1;
-update pp set f1=f1+1; -- fail
-ERROR:  update or delete on table "pp" violates foreign key constraint "cc_f1_fkey" on table "cc"
-DETAIL:  Key (f1)=(13) is still referenced from table "cc".
-delete from pp where f1 = 13; -- fail
-ERROR:  update or delete on table "pp" violates foreign key constraint "cc_f1_fkey" on table "cc"
-DETAIL:  Key (f1)=(13) is still referenced from table "cc".
-drop table pp, cc;
-create temp table pp (f1 int primary key);
-create temp table cc (f1 int references pp on update restrict on delete restrict);
-insert into pp values(12);
-insert into pp values(11);
-update pp set f1=f1+1;
-insert into cc values(13);
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/graph_table.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/graph_table.out	2026-05-27 14:47:38.839785400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/graph_table.out	2026-05-27 14:52:53.775135400 +0000
@@ -890,158 +890,7 @@
 CREATE TABLE ptne1 PARTITION OF ptne FOR VALUES IN (1, 2);
 CREATE TABLE ptne2 PARTITION OF ptne FOR VALUES IN (3);
 INSERT INTO ptne VALUES (1, 1, 2, 100), (2, 2, 3, 200), (3, 3, 1, 300);
-CREATE PROPERTY GRAPH g4
-    VERTEX TABLES (ptnv)
-    EDGE TABLES (
-        ptne
-            SOURCE KEY (src) REFERENCES ptnv(id)
-            DESTINATION KEY (dest) REFERENCES ptnv(id)
-    );
-SELECT * FROM GRAPH_TABLE (g4 MATCH (s IS ptnv)-[e IS ptne]->(d IS ptnv) COLUMNS (s.val, e.val, d.val)) ORDER BY 1, 2, ...
- val | val | val 
------+-----+-----
-  10 | 100 |  20
-  20 | 200 |  30
-  30 | 300 |  10
...
59/6606 log_checkpoints: count WAL segment creations from all processes
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rules.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgra...
--- /Users/admin/pgsql/src/test/regress/expected/rules.out	2026-05-25 19:25:24
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rules.out	2026-05-25 19:32:01
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rules.out /Users/admin/pgsql/build/testrun/recovery/027_stream_reg...
--- /Users/admin/pgsql/src/test/regress/expected/rules.out	2026-05-25 19:25:24
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/rules.out	2026-05-25 19:33:47
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rules.out /Users/admin/pgsql/build/testrun/regress/regress/results...
--- /Users/admin/pgsql/src/test/regress/expected/rules.out	2026-05-25 19:25:24
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/rules.out	2026-05-25 19:31:58
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rules.out /Users/admin/pgsql/build/testrun/test_plan_advice/001_re...
--- /Users/admin/pgsql/src/test/regress/expected/rules.out	2026-05-25 19:25:24
+++ /Users/admin/pgsql/build/testrun/test_plan_advice/001_replan_regress/data/results/rules.out	2026-05-25 19:32:01
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rules.out C:/cirrus/build/testrun/pg_upgrade/002_pg_upg...
--- C:/cirrus/src/test/regress/expected/rules.out	2026-05-25 19:26:22.567120700 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rules.out	2026-05-25 19:30:19.587412100 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rules.out C:/cirrus/build/testrun/recovery/027_stream_r...
--- C:/cirrus/src/test/regress/expected/rules.out	2026-05-25 19:26:22.567120700 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/rules.out	2026-05-25 19:33:48.821293900 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rules.out C:/cirrus/build/testrun/regress/regress/resul...
--- C:/cirrus/src/test/regress/expected/rules.out	2026-05-25 19:26:22.567120700 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/rules.out	2026-05-25 19:30:08.469247300 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rules.out C:/cirrus/build/testrun/test_plan_advice/001_...
--- C:/cirrus/src/test/regress/expected/rules.out	2026-05-25 19:26:22.567120700 +0000
+++ C:/cirrus/build/testrun/test_plan_advice/001_replan_regress/data/results/rules.out	2026-05-25 19:30:13.404303200 +00...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_u...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:12.260263912 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rules.out	2026-05-25 19:30:16.857921530 +0...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:12.260263912 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rules.out	2026-05-25 19:31:49.478009585 ...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/regress/regress/res...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:12.260263912 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rules.out	2026-05-25 19:30:17.593922505 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/test_plan_advice/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:12.260263912 +0000
+++ /tmp/cirrus-ci-build/build/testrun/test_plan_advice/001_replan_regress/data/results/rules.out	2026-05-25 19:30:19.55...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_u...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:10.250268000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rules.out	2026-05-25 19:29:10.030700000 +0...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:10.250268000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rules.out	2026-05-25 19:30:43.078920000 ...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/regress/regress/res...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:10.250268000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rules.out	2026-05-25 19:29:09.928914000 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/test_plan_advice/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:10.250268000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/test_plan_advice/001_replan_regress/data/results/rules.out	2026-05-25 19:29:09.87...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/resu...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:13.920292372 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/rules.out	2026-05-25 19:33:30.446858193 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/src/test/modules/test_plan_advice...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:13.920292372 +0000
+++ /tmp/cirrus-ci-build/src/test/modules/test_plan_advice/tmp_check/results/rules.out	2026-05-25 19:35:36.799282777 +00...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:13.920292372 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/rules.out	2026-05-25 19:35:34.723276952 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/src/test/regress/results/rules.ou...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out	2026-05-25 19:25:13.920292372 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/rules.out	2026-05-25 19:31:27.542170594 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rules.out /home/postgres/postgres/build/testrun/pg_upgrade/00...
--- /home/postgres/postgres/src/test/regress/expected/rules.out	2026-05-25 19:25:59.945520780 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rules.out	2026-05-25 19:29:16.327871888...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rules.out /home/postgres/postgres/build/testrun/recovery/027_...
--- /home/postgres/postgres/src/test/regress/expected/rules.out	2026-05-25 19:25:59.945520780 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rules.out	2026-05-25 19:30:07.8442491...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rules.out /home/postgres/postgres/build/testrun/regress/regre...
--- /home/postgres/postgres/src/test/regress/expected/rules.out	2026-05-25 19:25:59.945520780 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rules.out	2026-05-25 19:29:15.862858321 +0000
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rules.out /home/postgres/postgres/build/testrun/test_plan_adv...
--- /home/postgres/postgres/src/test/regress/expected/rules.out	2026-05-25 19:25:59.945520780 +0000
+++ /home/postgres/postgres/build/testrun/test_plan_advice/001_replan_regress/data/results/rules.out	2026-05-25 19:29:20...
@@ -1889,6 +1889,9 @@
     pg_stat_get_checkpointer_sync_time() AS sync_time,
     pg_stat_get_checkpointer_buffers_written() AS buffers_written,
     pg_stat_get_checkpointer_slru_written() AS slru_written,
+    pg_stat_get_checkpointer_segs_added() AS segs_added,
+    pg_stat_get_checkpointer_segs_removed() AS segs_removed,
+    pg_stat_get_checkpointer_segs_recycled() AS segs_recycled,
     pg_stat_get_checkpointer_stat_reset_time() AS stats_reset;
 pg_stat_database| SELECT oid AS datid,
     datname,