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/6506 DOCS - Add introductory paragraph to Getting Started chapter
OpenBSD - 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	Mon Mar 16 11:04:01 2026
+++ /home/postgres/postgres/build/testrun/postgres_fdw/regress/results/query_cancel.out	Mon Mar 16 11:09:32 2026
@@ -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/5012 Vacuum statistics
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/vacuum.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgr...
--- /Users/admin/pgsql/src/test/regress/expected/vacuum.out	2026-03-16 10:39:35
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/vacuum.out	2026-03-16 10:44:45
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/vacuum.out /Users/admin/pgsql/build/testrun/regress/regress/result...
--- /Users/admin/pgsql/src/test/regress/expected/vacuum.out	2026-03-16 10:39:35
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/vacuum.out	2026-03-16 10:44:42
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/vacuum.out /home/postgres/postgres/build/testrun/pg_upgrade/0...
--- /home/postgres/postgres/src/test/regress/expected/vacuum.out	Mon Mar 16 10:40:20 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/vacuum.out	Mon Mar 16 10:44:22 2026
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/vacuum.out /home/postgres/postgres/build/testrun/recovery/027...
--- /home/postgres/postgres/src/test/regress/expected/vacuum.out	Mon Mar 16 10:40:20 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/vacuum.out	Mon Mar 16 10:46:16 2026
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/vacuum.out /home/postgres/postgres/build/testrun/pg_upgrade/0...
--- /home/postgres/postgres/src/test/regress/expected/vacuum.out	2026-03-16 10:40:21.473823466 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/vacuum.out	2026-03-16 10:43:15.86518627...
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out	2026-03-16 10:39:42.592803000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/vacuum.out	2026-03-16 10:42:25.825229000 +...
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out /tmp/cirrus-ci-build/build/testrun/recovery/027_strea...
--- /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out	2026-03-16 10:39:42.592803000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/vacuum.out	2026-03-16 10:43:42.845588000...
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out /tmp/cirrus-ci-build/build/testrun/regress/regress/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out	2026-03-16 10:39:42.592803000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/vacuum.out	2026-03-16 10:42:22.689642000 +0000
@@ -748,7 +748,7 @@
   FROM pg_class WHERE relname = 'vacvm_clear_test';
  all_visible | all_frozen 
 -------------+------------
- t           | t
+ f           | f
 (1 row)
 
 SELECT visible_pages_vm_cleared = 0 AS visible_pages_vm_cleared, frozen_pages_vm_cleared = 0 AS frozen_pages_vm_cleared
@@ -769,7 +769,7 @@
   FROM pg_stat_all_tables WHERE relname = 'vacvm_clear_test';
  visible_pages_vm_cleared | frozen_pages_vm_cleared 
 --------------------------+-------------------------
- t                        | t
+ f                        | f
 (1 row)
 
...
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-03-16 08:44:43.184529032 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-03-16 08:46:41.791450...
@@ -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-03-16 08:44:43.184529032 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-03-16 08:48:09.5919...
@@ -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-03-16 08:44:43.184529032 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rowsecurity.out	2026-03-16 08:46:41.319442399 +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-03-16 08:45:49.686450500 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-03-16 08:49:33.505518400 +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-03-16 08:45:49.686450500 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-03-16 08:53:17.772518200 +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-03-16 08:45:49.686450500 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/rowsecurity.out	2026-03-16 08:49:26.787266300 +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-03-16 08:43:36
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-03-16 08:48:09
@@ -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-03-16 08:43:36
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-03-16 08:49:44
@@ -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-03-16 08:43:36
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/rowsecurity.out	2026-03-16 08:48:00
@@ -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-03-16 08:44:10.982607716 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/rowsecurity.out	2026-03-16 08:50:21.276285168 +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-03-16 08:44:10.982607716 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/rowsecurity.out	2026-03-16 08:51:40.020653026 +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-03-16 08:44:10.982607716 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/rowsecurity.out	2026-03-16 08:47:26.869960324 +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-03-16 08:44:12.242438414 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-03-16 08:46:48.606...
@@ -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-03-16 08:44:12.242438414 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-03-16 08:47:35.0...
@@ -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-03-16 08:44:12.242438414 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rowsecurity.out	2026-03-16 08:46:42.390685934 +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;
...
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-03-16 08:43:40.110034000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-03-16 08:46:12.815188...
@@ -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-03-16 08:43:40.110034000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-03-16 08:47:30.9565...
@@ -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-03-16 08:43:40.110034000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rowsecurity.out	2026-03-16 08:46:07.276312000 +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	Mon Mar 16 08:45:54 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	Mon Mar 16 08:49:46 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	Mon Mar 16 08:45:54 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	Mon Mar 16 08:52:24 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	Mon Mar 16 08:45:54 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rowsecurity.out	Mon Mar 16 08:49:32 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;
...
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/regress/regress/res...
--- /tmp/cirrus-ci-build/src/test/regress/expected/union.out	2026-03-15 21:37:38.441014000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/union.out	2026-03-15 21:39:42.747251000 +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/6388 pageinspect support for SpGiST
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-15 11:28:39.415736800 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/spgist.out	2026-03-15 11:37:20.993734800 +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-15 11:30:54
+++ /Users/admin/pgsql/build/testrun/pageinspect/regress/results/spgist.out	2026-03-15 11:38:40
@@ -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-15 11:28:53.284317272 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/spgist.out	2026-03-15 11:32:40.650370632 +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 | {}
...
OpenBSD - 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	Sun Mar 15 11:28:48 2026
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/spgist.out	Sun Mar 15 11:33:42 2026
@@ -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-15 11:28:53.205639000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/spgist.out	2026-03-15 11:31:47.980742000 +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-15 11:28:45.637977265 +0000
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/spgist.out	2026-03-15 11:31:17.026936759 +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/5444 using index to speedup add not null constraints to a table
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/constraints.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/constraints.out	2026-03-15 07:24:26.534861300 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/constraints.out	2026-03-15 07:30:50.890968400 +0000
@@ -1819,6 +1819,7 @@
 ALTER TABLE tp_notnull ALTER COLUMN b DROP NOT NULL;
 --debug message should contain "have been validated by using index scan"
 ALTER TABLE tp_notnull_1 ALTER COLUMN b SET NOT NULL;
+DEBUG:  rehashing catalog cache id 56 for pg_class; 257 tups, 128 buckets
 DEBUG:  all new not-null constraints on relation "tp_notnull_1" have been validated by using index scan
 --debug message should contain "have been validated by using index scan"
 ALTER TABLE tp_notnull_2 ALTER COLUMN b SET NOT NULL;
58/6352 Improve performance of tuple deformation
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_p...
--- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out	2026-03-15 05:15:34.156708276 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/horology.out	2026-03-15 05:19:52.863862128...
@@ -1351,2540 +1351,8 @@
   FROM TIME_TBL t, INTERVAL_TBL i
   WHERE isfinite(i.f1)
   ORDER BY 1,2;
-      t      |               i               |     add     |  subtract   
--------------+-------------------------------+-------------+-------------
- 00:00:00    | @ 14 secs ago                 | 23:59:46    | 00:00:14
- 00:00:00    | @ 1 min                       | 00:01:00    | 23:59:00
- 00:00:00    | @ 5 hours                     | 05:00:00    | 19:00:00
- 00:00:00    | @ 1 day 2 hours 3 mins 4 secs | 02:03:04    | 21:56:56
- 00:00:00    | @ 10 days                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 3 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons 12 hours             | 12:00:00    | 12:00:00
- 00:00:00    | @ 6 years                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 34 years                    | 00:00:00    | 00:00:00
- 01:00:00    | @ 14 secs ago                 | 00:59:46    | 01:00:14
...
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-15 05:15:32.423088436 +0000
+++ /tmp/cirrus-ci-build/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-03-15 05:22:33.095816630 +0000
@@ -12429,312 +12429,8 @@
 (11 rows)
 
 SELECT a FROM base_tbl WHERE (a, random() > 0) IN (SELECT a, random() > 0 FROM foreign_tbl);
- a 
----
- 1
- 2
- 3
-(3 rows)
-
--- Clean up
-DROP FOREIGN TABLE foreign_tbl CASCADE;
-NOTICE:  drop cascades to foreign table foreign_tbl2
-DROP TABLE base_tbl;
-ALTER SERVER loopback OPTIONS (DROP async_capable);
-ALTER SERVER loopback2 OPTIONS (DROP async_capable);
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/build/testrun/recovery/027_str...
--- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out	2026-03-15 05:15:34.156708276 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/horology.out	2026-03-15 05:21:13.2158187...
@@ -1351,2540 +1351,8 @@
   FROM TIME_TBL t, INTERVAL_TBL i
   WHERE isfinite(i.f1)
   ORDER BY 1,2;
-      t      |               i               |     add     |  subtract   
--------------+-------------------------------+-------------+-------------
- 00:00:00    | @ 14 secs ago                 | 23:59:46    | 00:00:14
- 00:00:00    | @ 1 min                       | 00:01:00    | 23:59:00
- 00:00:00    | @ 5 hours                     | 05:00:00    | 19:00:00
- 00:00:00    | @ 1 day 2 hours 3 mins 4 secs | 02:03:04    | 21:56:56
- 00:00:00    | @ 10 days                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 3 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons 12 hours             | 12:00:00    | 12:00:00
- 00:00:00    | @ 6 years                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 34 years                    | 00:00:00    | 00:00:00
- 01:00:00    | @ 14 secs ago                 | 00:59:46    | 01:00:14
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/build/testrun/regress/regress/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out	2026-03-15 05:15:34.156708276 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/horology.out	2026-03-15 05:19:52.263862784 +0000
@@ -1351,2540 +1351,8 @@
   FROM TIME_TBL t, INTERVAL_TBL i
   WHERE isfinite(i.f1)
   ORDER BY 1,2;
-      t      |               i               |     add     |  subtract   
--------------+-------------------------------+-------------+-------------
- 00:00:00    | @ 14 secs ago                 | 23:59:46    | 00:00:14
- 00:00:00    | @ 1 min                       | 00:01:00    | 23:59:00
- 00:00:00    | @ 5 hours                     | 05:00:00    | 19:00:00
- 00:00:00    | @ 1 day 2 hours 3 mins 4 secs | 02:03:04    | 21:56:56
- 00:00:00    | @ 10 days                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 3 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons 12 hours             | 12:00:00    | 12:00:00
- 00:00:00    | @ 6 years                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 34 years                    | 00:00:00    | 00:00:00
- 01:00:00    | @ 14 secs ago                 | 00:59:46    | 01:00:14
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out /tmp/cirrus-ci-build/contrib/postgres_fdw/r...
--- /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out	2026-03-15 05:15:12.234364274 +0000
+++ /tmp/cirrus-ci-build/contrib/postgres_fdw/results/postgres_fdw.out	2026-03-15 05:23:23.281754739 +0000
@@ -12429,312 +12429,8 @@
 (11 rows)
 
 SELECT a FROM base_tbl WHERE (a, random() > 0) IN (SELECT a, random() > 0 FROM foreign_tbl);
- a 
----
- 1
- 2
- 3
-(3 rows)
-
--- Clean up
-DROP FOREIGN TABLE foreign_tbl CASCADE;
-NOTICE:  drop cascades to foreign table foreign_tbl2
-DROP TABLE base_tbl;
-ALTER SERVER loopback OPTIONS (DROP async_capable);
-ALTER SERVER loopback2 OPTIONS (DROP async_capable);
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out	2026-03-15 05:15:13.970189895 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/horology.out	2026-03-15 05:22:24.793912981 +0000
@@ -1351,2540 +1351,8 @@
   FROM TIME_TBL t, INTERVAL_TBL i
   WHERE isfinite(i.f1)
   ORDER BY 1,2;
-      t      |               i               |     add     |  subtract   
--------------+-------------------------------+-------------+-------------
- 00:00:00    | @ 14 secs ago                 | 23:59:46    | 00:00:14
- 00:00:00    | @ 1 min                       | 00:01:00    | 23:59:00
- 00:00:00    | @ 5 hours                     | 05:00:00    | 19:00:00
- 00:00:00    | @ 1 day 2 hours 3 mins 4 secs | 02:03:04    | 21:56:56
- 00:00:00    | @ 10 days                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 3 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons 12 hours             | 12:00:00    | 12:00:00
- 00:00:00    | @ 6 years                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 34 years                    | 00:00:00    | 00:00:00
- 01:00:00    | @ 14 secs ago                 | 00:59:46    | 01:00:14
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out	2026-03-15 05:15:13.970189895 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/horology.out	2026-03-15 05:23:48.709635383 +0000
@@ -1351,2540 +1351,8 @@
   FROM TIME_TBL t, INTERVAL_TBL i
   WHERE isfinite(i.f1)
   ORDER BY 1,2;
-      t      |               i               |     add     |  subtract   
--------------+-------------------------------+-------------+-------------
- 00:00:00    | @ 14 secs ago                 | 23:59:46    | 00:00:14
- 00:00:00    | @ 1 min                       | 00:01:00    | 23:59:00
- 00:00:00    | @ 5 hours                     | 05:00:00    | 19:00:00
- 00:00:00    | @ 1 day 2 hours 3 mins 4 secs | 02:03:04    | 21:56:56
- 00:00:00    | @ 10 days                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 3 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons 12 hours             | 12:00:00    | 12:00:00
- 00:00:00    | @ 6 years                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 34 years                    | 00:00:00    | 00:00:00
- 01:00:00    | @ 14 secs ago                 | 00:59:46    | 01:00:14
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/src/test/regress/results/horol...
--- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out	2026-03-15 05:15:13.970189895 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/horology.out	2026-03-15 05:20:03.702787366 +0000
@@ -1351,2540 +1351,8 @@
   FROM TIME_TBL t, INTERVAL_TBL i
   WHERE isfinite(i.f1)
   ORDER BY 1,2;
-      t      |               i               |     add     |  subtract   
--------------+-------------------------------+-------------+-------------
- 00:00:00    | @ 14 secs ago                 | 23:59:46    | 00:00:14
- 00:00:00    | @ 1 min                       | 00:01:00    | 23:59:00
- 00:00:00    | @ 5 hours                     | 05:00:00    | 19:00:00
- 00:00:00    | @ 1 day 2 hours 3 mins 4 secs | 02:03:04    | 21:56:56
- 00:00:00    | @ 10 days                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 3 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons                      | 00:00:00    | 00:00:00
- 00:00:00    | @ 5 mons 12 hours             | 12:00:00    | 12:00:00
- 00:00:00    | @ 6 years                     | 00:00:00    | 00:00:00
- 00:00:00    | @ 34 years                    | 00:00:00    | 00:00:00
- 01:00:00    | @ 14 secs ago                 | 00:59:46    | 01:00:14
...
58/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-03-15 04:07:12.287217900 +0000
+++ C:/cirrus/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-15 04:17:24.520999500 +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 - 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-15 04:07:24.523789597 +0000
+++ /tmp/cirrus-ci-build/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-15 04:11:54.756679008 +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-03-15 04:06:35.289807684 +0000
+++ /tmp/cirrus-ci-build/src/test/modules/unsafe_tests/results/guc_privs.out	2026-03-15 04:12:13.694993521 +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-15 04:06:53.340349166 +0000
+++ /home/postgres/postgres/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-15 04:09:33.774186320 +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 15 04:08:00 2026
+++ /home/postgres/postgres/build/testrun/unsafe_tests/regress/results/guc_privs.out	Sun Mar 15 04:13:26 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
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-15 04:07:27.870139000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/unsafe_tests/regress/results/guc_privs.out	2026-03-15 04:11:51.317496000 +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/6132 Issue with synced logical replication slot during switchover
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-15 00:47:12.556216038 +0000
+++ /home/postgres/postgres/build/testrun/isolation/isolation/results/timeouts.out	2026-03-15 00:49:25.458612069 +0000
@@ -78,4 +78,4 @@
 step slto: SET lock_timeout = '10s'; SET statement_timeout = '10ms';
 step update: DELETE FROM accounts WHERE accountid = 'checking'; <waiting ...>
 step update: <... completed>
-ERROR:  canceling statement due to statement timeout
+ERROR:  canceling statement due to user request
58/5988 disallow alter individual column if partition key contains wholerow reference
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-14 23:03:49.053265000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/postgres_fdw-running/regress/results/postgres_fdw.out	2026-03-14 23:11:25.2562320...
@@ -12715,8 +12715,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
@@ -12732,8 +12731,7 @@
   FROM postgres_fdw_get_connections(true);
  server_name | closed | remote_backend_pid 
 -------------+--------+--------------------
- loopback    | t      | t
-(1 row)
+(0 rows)
...
58/5714 Allow to collect statistics on virtual generated columns
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-14 20:18:07.177736000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/postgres_fdw-running/regress/results/postgres_fdw.out	2026-03-14 20:27:10.5183750...
@@ -12715,8 +12715,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
@@ -12732,8 +12731,7 @@
   FROM postgres_fdw_get_connections(true);
  server_name | closed | remote_backend_pid 
 -------------+--------+--------------------
- loopback    | t      | t
-(1 row)
+(0 rows)
...
58/6546 Fix slotsync worker busy loop causing repeated log messages
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_logicalinspect/expected/logical_inspect.out /tmp/cirrus-ci-build/build/testrun/...
--- /tmp/cirrus-ci-build/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:31:58.390984423 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	2026-03-14 06:35:55.57466...
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_logicalinspect/expected/logical_inspect.out C:/cirrus/build/testrun/pg...
--- C:/cirrus/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:33:37.965109300 +0000
+++ C:/cirrus/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	2026-03-14 06:42:37.144596600 +0000
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pg_logicalinspect/expected/logical_inspect.out C:/cirrus/build/testrun/pg...
--- C:/cirrus/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:32:23.997705900 +0000
+++ C:/cirrus/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	2026-03-14 06:41:15.871515600 +0000
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/contrib/pg_logicalinspect/expected/logical_inspect.out /Users/admin/pgsql/build/testrun/pg_l...
--- /Users/admin/pgsql/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:31:27
+++ /Users/admin/pgsql/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	2026-03-14 06:35:28
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_logicalinspect/expected/logical_inspect.out /home/postgres/postgres/build/te...
--- /home/postgres/postgres/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:33:01.361156035 +0000
+++ /home/postgres/postgres/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	2026-03-14 06:35:26.38...
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pg_logicalinspect/expected/logical_inspect.out /home/postgres/postgres/build/te...
--- /home/postgres/postgres/contrib/pg_logicalinspect/expected/logical_inspect.out	Sat Mar 14 06:32:35 2026
+++ /home/postgres/postgres/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	Sat Mar 14 06:37:40 20...
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_logicalinspect/expected/logical_inspect.out /tmp/cirrus-ci-build/contrib/pg_log...
--- /tmp/cirrus-ci-build/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:32:31.840021100 +0000
+++ /tmp/cirrus-ci-build/contrib/pg_logicalinspect/output_iso/results/logical_inspect.out	2026-03-14 06:35:57.570981324 ...
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pg_logicalinspect/expected/logical_inspect.out /tmp/cirrus-ci-build/build/testrun/...
--- /tmp/cirrus-ci-build/contrib/pg_logicalinspect/expected/logical_inspect.out	2026-03-14 06:33:10.510344000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_logicalinspect/isolation/results/logical_inspect.out	2026-03-14 06:36:16.54807...
@@ -20,13 +20,13 @@
 step s1_check_snapshot_info: SELECT count(*) > 0 as has_info FROM pg_ls_logicalsnapdir(), pg_get_logical_snapshot_info(...
 has_info
 --------
-t       
+f       
 (1 row)
 
 step s1_check_snapshot_meta: SELECT count(meta.*) > 0 AS has_meta from pg_ls_logicalsnapdir(), pg_get_logical_snapshot_...
 has_meta
 --------
-t       
+f       
 (1 row)
 
 step s0_commit: COMMIT;
58/6037 Fix race condition in SSI when reading PredXact->SxactGlobalXmin
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/modules/injection_points/expected/predicate-lock-page-split.out /Users/admin/pgsql/...
--- /Users/admin/pgsql/src/test/modules/injection_points/expected/predicate-lock-page-split.out	2026-03-12 19:17:10
+++ /Users/admin/pgsql/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-03-12 19:22:0...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/injection_points/expected/predicate-lock-page-split.out C:/cirru...
--- C:/cirrus/src/test/modules/injection_points/expected/predicate-lock-page-split.out	2026-03-12 19:17:51.759726200 +00...
+++ C:/cirrus/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-03-12 19:27:26.3474575...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/injection_points/expected/predicate-lock-page-split.out /tmp/cirrus-ci-bu...
--- /tmp/cirrus-ci-build/src/test/modules/injection_points/expected/predicate-lock-page-split.out	2026-03-12 19:18:18.73...
+++ /tmp/cirrus-ci-build/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-03-12 19:25...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/injection_points/expected/predicate-lock-page-split.out C:/cirru...
--- C:/cirrus/src/test/modules/injection_points/expected/predicate-lock-page-split.out	2026-03-12 19:20:08.485158300 +00...
+++ C:/cirrus/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-03-12 19:32:04.3974690...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/modules/injection_points/expected/predicate-lock-page-split.out /home/postgres...
--- /home/postgres/postgres/src/test/modules/injection_points/expected/predicate-lock-page-split.out	2026-03-12 19:18:41...
+++ /home/postgres/postgres/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-03-12 19...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/modules/injection_points/expected/predicate-lock-page-split.out /home/postgres...
--- /home/postgres/postgres/src/test/modules/injection_points/expected/predicate-lock-page-split.out	Thu Mar 12 19:18:24...
+++ /home/postgres/postgres/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	Thu Mar 12 19...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/injection_points/expected/predicate-lock-page-split.out /tmp/cirrus-ci-bu...
--- /tmp/cirrus-ci-build/src/test/modules/injection_points/expected/predicate-lock-page-split.out	2026-03-12 19:18:41.36...
+++ /tmp/cirrus-ci-build/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-03-12 19:24...
@@ -76,7 +76,6 @@
 step s3_insert: 
     INSERT INTO test_table VALUES (1000000);
 
-ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 injection_points_wakeup
 -----------------------
@@ -100,6 +99,6 @@
 
 inserted
 --------
-f       
+t       
 (1 row)
 
58/6516 Optional skipping of unchanged relations during ANALYZE?
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-12 14:53:58.017456700 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-12 14:58:37.61...
@@ -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-12 14:53:58.017456700 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-12 15:01:49....
@@ -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-12 14:53:58.017456700 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-12 14:58:38.028714200 +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-12 14:54:53
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-12 15...
@@ -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-12 14:54:53
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-12 ...
@@ -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-12 14:54:53
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-12 15:00:08
@@ -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, 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-12 14:53:42.292771100 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-12 14:57:53.40...
@@ -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-12 14:53:42.292771100 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-12 15:00:59....
@@ -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-12 14:53:42.292771100 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-12 14:57:53.231018700 +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-12 14:53:42.438855620 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-12 ...
@@ -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-12 14:53:42.438855620 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-1...
@@ -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-12 14:53:42.438855620 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-12 14:59:00.083741...
@@ -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-12 14:53:39.272267354 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/analyze_missing_stats_only.out	2026-03-12 15:00:19.4679011...
@@ -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-12 14:53:39.272267354 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/analyze_missing_stats_only.out	2026-03-12 15:02:07.19959913...
@@ -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-12 14:53:39.272267354 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/analyze_missing_stats_only.out	2026-03-12 14:58:48.375796159 +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;
...
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	Thu Mar 12 14:54:03 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	Thu 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	Thu Mar 12 14:54:03 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	Thu 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	Thu Mar 12 14:54:03 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/analyze_missing_stats_only.out	Thu Mar 12 14:57:52 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;
...
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-12 14:53:59.505500893 +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-12 14:53:59.505500893 +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-12 14:53:59.505500893 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-12 14:57:44.052...
@@ -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-12 14:53:42.592865000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/analyze_missing_stats_only.out	2026-03-12 ...
@@ -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-12 14:53:42.592865000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/analyze_missing_stats_only.out	2026-03-1...
@@ -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-12 14:53:42.592865000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/analyze_missing_stats_only.out	2026-03-12 14:56:57.160890...
@@ -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/6029 NOT NULL NOT ENFORCED
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/constraints.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/constraints.out	2026-03-11 09:54:31.531789400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/constraints.out	2026-03-11 09:59:30.759668600 +0000
@@ -1042,7 +1042,9 @@
   pg_get_constraintdef   
 -------------------------
  NOT NULL x NOT ENFORCED
-(1 row)
+ NOT NULL a2
+ NOT NULL a2
+(3 rows)
 
 INSERT INTO ne_nn_tbl VALUES (NULL); -- ok
 ALTER TABLE ne_nn_tbl ALTER CONSTRAINT nn ENFORCED; -- error
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-11 06:11:35.424088656 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/jsonb.out	2026-03-11 06:13:59.214002538 +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/json.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/json.out	2026-03-11 06:11:35.424088656 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/json.out	2026-03-11 06:15:21.057972381 +...
@@ -2688,81 +2688,10 @@
 (1 row)
 
 select json_to_tsvector('{}'::json, '"all"');
- json_to_tsvector 
-------------------
- 
-(1 row)
-
-select json_to_tsvector('[]'::json, '"all"');
- json_to_tsvector 
-------------------
- 
-(1 row)
-
-select json_to_tsvector('null'::json, '"all"');
- json_to_tsvector 
...
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-11 06:11:35.424088656 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/jsonb.out	2026-03-11 06:14:00.714002689 +0000
@@ -3171,2784 +3171,7 @@
 (1 row)
 
 SELECT count(*) FROM testjsonb WHERE j @> '{"array":["bar"]}';
- count 
--------
-     3
-(1 row)
-
--- exercise GIN_SEARCH_MODE_ALL
-SELECT count(*) FROM testjsonb WHERE j @> '{}';
- count 
--------
-  1012
-(1 row)
-
-SELECT count(*) FROM testjsonb WHERE j ? 'public';
...
58/6274 Add a greedy join search algorithm to handle large join problems
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-10 14:42:58.048474200 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-10 14:46:40.951881600 +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-10 14:42:58.048474200 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-10 14:49:59.102761800 +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-10 14:42:58.048474200 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/goo.out	2026-03-10 14:46:40.983132000 +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-10 14:51:57
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-10 14:55:10
@@ -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-10 14:51:57
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-10 14:57:44
@@ -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-10 14:51:57
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/goo.out	2026-03-10 14:55:16
@@ -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-10 14:43:30.403822600 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-10 14:47:15.800102900 +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-10 14:43:30.403822600 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-10 14:50:21.028075600 +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-10 14:43:30.403822600 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/goo.out	2026-03-10 14:47:14.104310900 +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-10 14:43:10.053857105 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-10 14:45:25.683261578 +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-10 14:43:10.053857105 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-10 14:46:48.678048395 +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-10 14:43:10.053857105 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/goo.out	2026-03-10 14:45:22.826833605 +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-10 14:43:38.102398331 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-10 14:45:29.350039035 +...
@@ -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-10 14:43:38.102398331 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-10 14:46:16.645655987...
@@ -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-10 14:43:38.102398331 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/goo.out	2026-03-10 14:45:30.275357195 +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-10 14:43:58.722547391 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/goo.out	2026-03-10 14:51:10.119448283 +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-10 14:43:58.722547391 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/goo.out	2026-03-10 14:52:20.179089546 +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-10 14:43:58.722547391 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/goo.out	2026-03-10 14:48:33.655471911 +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-10 14:43:25.852582000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	2026-03-10 14:45:37.850267000 +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-10 14:43:25.852582000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/goo.out	2026-03-10 14:46:58.453975000 +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-10 14:43:25.852582000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/goo.out	2026-03-10 14:45:41.210379000 +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	Tue Mar 10 14:43:30 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/goo.out	Tue Mar 10 14:46:43 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	Tue Mar 10 14:43:30 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/goo.out	Tue Mar 10 14:49:12 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	Tue Mar 10 14:43:30 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/goo.out	Tue Mar 10 14:46:41 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
...
58/5992 Fix ALTER TABLE DROP EXPRESSION with ONLY option
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/build/testrun/pg_upgra...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:43.205478237 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-03-09 18:46:48.4...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/build/testrun/pg_upgr...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:43.205478237 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-03-09 18:46:56....
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/build/testrun/recovery...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:43.205478237 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-03-09 18:48:16...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/build/testrun/recover...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:43.205478237 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-03-09 18:48:2...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/build/testrun/regress/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:43.205478237 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_stored.out	2026-03-09 18:46:44.945051840 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/build/testrun/regress...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:43.205478237 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_virtual.out	2026-03-09 18:46:52.805140473 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_stored.out C:/cirrus/build/testrun/pg_upgrade...
--- C:/cirrus/src/test/regress/expected/generated_stored.out	2026-03-09 18:46:32.509728400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-03-09 18:50:32.337315500 +0...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_virtual.out C:/cirrus/build/testrun/pg_upgrad...
--- C:/cirrus/src/test/regress/expected/generated_virtual.out	2026-03-09 18:46:32.509728400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-03-09 18:50:53.353435200 +...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_stored.out C:/cirrus/build/testrun/recovery/0...
--- C:/cirrus/src/test/regress/expected/generated_stored.out	2026-03-09 18:46:32.509728400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-03-09 18:53:57.992057900 ...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_virtual.out C:/cirrus/build/testrun/recovery/...
--- C:/cirrus/src/test/regress/expected/generated_virtual.out	2026-03-09 18:46:32.509728400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-03-09 18:54:21.298693000...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_stored.out C:/cirrus/build/testrun/regress/re...
--- C:/cirrus/src/test/regress/expected/generated_stored.out	2026-03-09 18:46:32.509728400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_stored.out	2026-03-09 18:50:22.526293700 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_virtual.out C:/cirrus/build/testrun/regress/r...
--- C:/cirrus/src/test/regress/expected/generated_virtual.out	2026-03-09 18:46:32.509728400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_virtual.out	2026-03-09 18:50:47.048271000 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_stored.out C:/cirrus/build/testrun/pg_upgrade...
--- C:/cirrus/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:23.023187500 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-03-09 18:47:39.630901000 +0...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_virtual.out C:/cirrus/build/testrun/pg_upgrad...
--- C:/cirrus/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:23.023187500 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-03-09 18:47:50.112351100 +...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_stored.out C:/cirrus/build/testrun/recovery/0...
--- C:/cirrus/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:23.023187500 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-03-09 18:51:17.563664700 ...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_virtual.out C:/cirrus/build/testrun/recovery/...
--- C:/cirrus/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:23.023187500 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-03-09 18:51:29.983110100...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_stored.out C:/cirrus/build/testrun/regress/re...
--- C:/cirrus/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:23.023187500 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_stored.out	2026-03-09 18:47:33.453161800 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/generated_virtual.out C:/cirrus/build/testrun/regress/r...
--- C:/cirrus/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:23.023187500 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_virtual.out	2026-03-09 18:47:44.525439000 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/generated_stored.out /Users/admin/pgsql/build/testrun/pg_upgrade/0...
--- /Users/admin/pgsql/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:00
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-03-09 18:46:04
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /Users/admin/pgsql/src/test/regress/expected/generated_virtual.out /Users/admin/pgsql/build/testrun/pg_upgrade/...
--- /Users/admin/pgsql/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:00
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-03-09 18:46:08
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/generated_stored.out /Users/admin/pgsql/build/testrun/recovery/027...
--- /Users/admin/pgsql/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:00
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-03-09 18:47:22
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /Users/admin/pgsql/src/test/regress/expected/generated_virtual.out /Users/admin/pgsql/build/testrun/recovery/02...
--- /Users/admin/pgsql/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:00
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-03-09 18:47:36
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/generated_stored.out /Users/admin/pgsql/build/testrun/regress/regr...
--- /Users/admin/pgsql/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:00
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/generated_stored.out	2026-03-09 18:46:03
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /Users/admin/pgsql/src/test/regress/expected/generated_virtual.out /Users/admin/pgsql/build/testrun/regress/reg...
--- /Users/admin/pgsql/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:00
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/generated_virtual.out	2026-03-09 18:46:08
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:18.980469716 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/generated_stored.out	2026-03-09 18:50:00.750092415 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tm...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:18.980469716 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/generated_virtual.out	2026-03-09 18:50:16.549935337 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/src/test/recovery/tmp_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:18.980469716 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/generated_stored.out	2026-03-09 18:51:57.497285419 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/src/test/recovery/tmp...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:18.980469716 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/generated_virtual.out	2026-03-09 18:52:08.421241366 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/src/test/regress/resul...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:18.980469716 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/generated_stored.out	2026-03-09 18:47:37.216904364 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/src/test/regress/resu...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:18.980469716 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/generated_virtual.out	2026-03-09 18:47:52.688428424 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_stored.out /home/postgres/postgres/build/testrun/pg...
--- /home/postgres/postgres/src/test/regress/expected/generated_stored.out	Mon Mar  9 18:45:33 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	Mon Mar  9 18:48:1...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_virtual.out /home/postgres/postgres/build/testrun/p...
--- /home/postgres/postgres/src/test/regress/expected/generated_virtual.out	Mon Mar  9 18:45:33 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	Mon Mar  9 18:48:...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_stored.out /home/postgres/postgres/build/testrun/re...
--- /home/postgres/postgres/src/test/regress/expected/generated_stored.out	Mon Mar  9 18:45:33 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	Mon Mar  9 18:50...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_virtual.out /home/postgres/postgres/build/testrun/r...
--- /home/postgres/postgres/src/test/regress/expected/generated_virtual.out	Mon Mar  9 18:45:33 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	Mon Mar  9 18:5...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_stored.out /home/postgres/postgres/build/testrun/re...
--- /home/postgres/postgres/src/test/regress/expected/generated_stored.out	Mon Mar  9 18:45:33 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_stored.out	Mon Mar  9 18:48:05 2026
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_virtual.out /home/postgres/postgres/build/testrun/r...
--- /home/postgres/postgres/src/test/regress/expected/generated_virtual.out	Mon Mar  9 18:45:33 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_virtual.out	Mon Mar  9 18:48:18 2026
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/build/testrun/pg_upgra...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:20.989703000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-03-09 18:46:26.8...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/build/testrun/pg_upgr...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:20.990327000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-03-09 18:46:49....
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/build/testrun/recovery...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:20.989703000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-03-09 18:47:47...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/build/testrun/recover...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:20.990327000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-03-09 18:48:2...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out /tmp/cirrus-ci-build/build/testrun/regress/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_stored.out	2026-03-09 18:44:20.989703000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_stored.out	2026-03-09 18:46:26.646291000 +0000
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out /tmp/cirrus-ci-build/build/testrun/regress...
--- /tmp/cirrus-ci-build/src/test/regress/expected/generated_virtual.out	2026-03-09 18:44:20.990327000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_virtual.out	2026-03-09 18:46:47.812471000 +0000
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_stored.out /home/postgres/postgres/build/testrun/pg...
--- /home/postgres/postgres/src/test/regress/expected/generated_stored.out	2026-03-09 18:46:13.775114999 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-03-09 18:49:4...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_virtual.out /home/postgres/postgres/build/testrun/p...
--- /home/postgres/postgres/src/test/regress/expected/generated_virtual.out	2026-03-09 18:46:13.778850754 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-03-09 18:50:...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_stored.out /home/postgres/postgres/build/testrun/re...
--- /home/postgres/postgres/src/test/regress/expected/generated_stored.out	2026-03-09 18:46:13.775114999 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-03-09 18:51...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_virtual.out /home/postgres/postgres/build/testrun/r...
--- /home/postgres/postgres/src/test/regress/expected/generated_virtual.out	2026-03-09 18:46:13.778850754 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-03-09 18:5...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_stored.out /home/postgres/postgres/build/testrun/re...
--- /home/postgres/postgres/src/test/regress/expected/generated_stored.out	2026-03-09 18:46:13.775114999 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_stored.out	2026-03-09 18:49:35.488860442 +00...
@@ -1311,6 +1311,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
                     Table "generated_stored_tests.gtest30"
  Column |  Type   | Collation | Nullable |              Default               
diff -U3 /home/postgres/postgres/src/test/regress/expected/generated_virtual.out /home/postgres/postgres/build/testrun/r...
--- /home/postgres/postgres/src/test/regress/expected/generated_virtual.out	2026-03-09 18:46:13.778850754 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_virtual.out	2026-03-09 18:50:01.711136261 +0...
@@ -1308,6 +1308,7 @@
 CREATE TABLE gtest30_1 () INHERITS (gtest30);
 ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION;  -- error
 ERROR:  ALTER TABLE / DROP EXPRESSION must be applied to child tables too
+HINT:  Do not specify the ONLY keyword.
 \d gtest30
...
58/5958 Per backend relation statistics tracking
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/stats.out /tmp/cirrus-ci-build/build/testrun/regress/regress/res...
--- /tmp/cirrus-ci-build/src/test/regress/expected/stats.out	2026-03-09 15:06:25.037120000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/stats.out	2026-03-09 15:11:10.760946000 +0000
@@ -243,7 +243,7 @@
 SELECT :seq_scan_after > :seq_scan_before;
  ?column? 
 ----------
- t
+ f
 (1 row)
 
 ----