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/6029 NOT NULL NOT ENFORCED
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/constraints.out /home/postgres/postgres/build/testrun/recover...
--- /home/postgres/postgres/src/test/regress/expected/constraints.out	2026-02-23 10:48:22.050408394 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/constraints.out	2026-02-23 10:50:34.2...
@@ -1039,10 +1039,11 @@
 ERROR:  conflicting NOT ENFORCED declaration for not-null constraint on column "x"
 CREATE TABLE ne_nn_tbl (x int, CONSTRAINT nn NOT NULL x NOT ENFORCED);
 SELECT pg_get_constraintdef(oid) FROM pg_constraint WHERE conname = 'nn';
-  pg_get_constraintdef   
--------------------------
+        pg_get_constraintdef         
+-------------------------------------
  NOT NULL x NOT ENFORCED
-(1 row)
+ NOT NULL f1 NO INHERIT NOT ENFORCED
+(2 rows)
 
 INSERT INTO ne_nn_tbl VALUES (NULL); --ok
 ALTER TABLE ne_nn_tbl ALTER CONSTRAINT nn ENFORCED; --error
58/5556 Expanding HOT updates for expression and partial indexes
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/triggers.out C:/cirrus/build/testrun/regress/regress/re...
--- C:/cirrus/src/test/regress/expected/triggers.out	2026-02-23 10:11:47.060007600 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/triggers.out	2026-02-23 10:16:39.584219000 +0000
@@ -277,8 +277,8 @@
 NOTICE:  trigger_func(delete_when) called: action = DELETE, when = AFTER, level = STATEMENT
 UPDATE main_table SET a = 50, b = 60;
 NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
-NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
+NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/triggers.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_up...
--- /Users/admin/pgsql/src/test/regress/expected/triggers.out	2026-02-23 10:11:32
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/triggers.out	2026-02-23 10:16:33
@@ -276,9 +276,9 @@
 NOTICE:  trigger_func(delete_a) called: action = DELETE, when = AFTER, level = ROW
 NOTICE:  trigger_func(delete_when) called: action = DELETE, when = AFTER, level = STATEMENT
 UPDATE main_table SET a = 50, b = 60;
-NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
+NOTICE:  trigger_func(modified_any) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
 NOTICE:  trigger_func(modified_a) called: action = UPDATE, when = BEFORE, level = ROW
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/triggers.out /Users/admin/pgsql/build/testrun/recovery/027_stream_...
--- /Users/admin/pgsql/src/test/regress/expected/triggers.out	2026-02-23 10:11:32
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/triggers.out	2026-02-23 10:19:20
@@ -961,12 +961,12 @@
 -- Delete from view using trigger
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_p...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-23 10:11:34.851654511 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/triggers.out	2026-02-23 10:16:04.755712766...
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/regress/regress/...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-23 10:11:34.851654511 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/triggers.out	2026-02-23 10:16:04.475712950 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/triggers.out /home/postgres/postgres/build/testrun/recovery/0...
--- /home/postgres/postgres/src/test/regress/expected/triggers.out	Mon Feb 23 10:11:46 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/triggers.out	Mon Feb 23 10:17:30 2026
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-23 10:11:46.388211410 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/triggers.out	2026-02-23 10:23:02.665736560 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/src/test/regress/results/trigg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-23 10:11:46.388211410 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/triggers.out	2026-02-23 10:18:26.173385578 +0000
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,10)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,32)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_p...
--- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out	2026-02-23 10:11:30.934303000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/triggers.out	2026-02-23 10:14:06.825511000...
@@ -962,11 +962,11 @@
 DELETE FROM main_view WHERE a IN (20,21);
 NOTICE:  main_view BEFORE DELETE STATEMENT (before_view_del_stmt)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
-NOTICE:  OLD: (21,10)
-NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (20,31)
 NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
 NOTICE:  OLD: (21,32)
+NOTICE:  main_view INSTEAD OF DELETE ROW (instead_of_del)
+NOTICE:  OLD: (21,10)
 NOTICE:  main_view AFTER DELETE STATEMENT (after_view_del_stmt)
 DELETE 3
 DELETE FROM main_view WHERE a = 31 RETURNING a, b;
58/6515 Fix incorrect Spanish translation and remove obsolete FIXME comments in es.po
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_index.out /tmp/cirrus-ci-build/build/testrun/regress-runn...
--- /tmp/cirrus-ci-build/src/test/regress/expected/create_index.out	2026-02-23 07:13:25.549753000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress-running/regress/results/create_index.out	2026-02-23 07:21:51.858092000 +0...
@@ -2042,7 +2042,7 @@
                                  QUERY PLAN                                 
 ----------------------------------------------------------------------------
  Aggregate
-   ->  Index Only Scan using tenk1_thous_tenthous on tenk1 t1
+   ->  Seq Scan on tenk1 t1
          Filter: ((thousand = 42) OR (thousand = (SubPlan expr_1)))
          SubPlan expr_1
            ->  Limit
@@ -2211,9 +2211,11 @@
                Filter: ((thousand = 42) OR (thousand = 41) OR (tenthous = 2))
                ->  Bitmap Index Scan on tenk2_hundred
                      Index Cond: (hundred = 42)
-         ->  Index Only Scan using tenk1_hundred on tenk1
-               Index Cond: (hundred = 42)
-(9 rows)
+         ->  Bitmap Heap Scan on tenk1
...
58/4460 Implement row pattern recognition feature
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rpr_explain.out /tmp/cirrus-ci-build/build-32/testrun/pg_upgrade...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rpr_explain.out	2026-02-22 21:38:36.225141533 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_upgrade/002_pg_upgrade/data/results/rpr_explain.out	2026-02-22 21:50:41.507...
@@ -1625,7 +1625,7 @@
    NFA: 54 absorbed (len 1/1/1.0), 18 skipped (len 1/1/1.0)
    ->  Sort (actual rows=90.00 loops=1)
          Sort Key: p.p
-         Sort Method: quicksort  Memory: 27kB
+         Sort Method: quicksort  Memory: 22kB
          ->  Nested Loop (actual rows=90.00 loops=1)
                ->  Function Scan on generate_series p (actual rows=3.00 loops=1)
                ->  Function Scan on generate_series v (actual rows=30.00 loops=3)
@@ -1682,7 +1682,7 @@
    NFA: 19 absorbed (len 1/1/1.0), 5 skipped (len 1/1/1.0)
    ->  Sort (actual rows=50.00 loops=1)
          Sort Key: (CASE WHEN (v.v <= 25) THEN 1 ELSE 2 END)
-         Sort Method: quicksort  Memory: 26kB
+         Sort Method: quicksort  Memory: 21kB
          ->  Function Scan on generate_series v (actual rows=50.00 loops=1)
 (12 rows)
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rpr_explain.out /tmp/cirrus-ci-build/build-32/testrun/recovery/0...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rpr_explain.out	2026-02-22 21:38:36.225141533 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/recovery/027_stream_regress/data/results/rpr_explain.out	2026-02-22 21:52:18.3...
@@ -1625,7 +1625,7 @@
    NFA: 54 absorbed (len 1/1/1.0), 18 skipped (len 1/1/1.0)
    ->  Sort (actual rows=90.00 loops=1)
          Sort Key: p.p
-         Sort Method: quicksort  Memory: 27kB
+         Sort Method: quicksort  Memory: 22kB
          ->  Nested Loop (actual rows=90.00 loops=1)
                ->  Function Scan on generate_series p (actual rows=3.00 loops=1)
                ->  Function Scan on generate_series v (actual rows=30.00 loops=3)
@@ -1682,7 +1682,7 @@
    NFA: 19 absorbed (len 1/1/1.0), 5 skipped (len 1/1/1.0)
    ->  Sort (actual rows=50.00 loops=1)
          Sort Key: (CASE WHEN (v.v <= 25) THEN 1 ELSE 2 END)
-         Sort Method: quicksort  Memory: 26kB
+         Sort Method: quicksort  Memory: 21kB
          ->  Function Scan on generate_series v (actual rows=50.00 loops=1)
 (12 rows)
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rpr_explain.out /tmp/cirrus-ci-build/build-32/testrun/regress/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rpr_explain.out	2026-02-22 21:38:36.225141533 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/regress/regress/results/rpr_explain.out	2026-02-22 21:50:38.759582796 +0000
@@ -1625,7 +1625,7 @@
    NFA: 54 absorbed (len 1/1/1.0), 18 skipped (len 1/1/1.0)
    ->  Sort (actual rows=90.00 loops=1)
          Sort Key: p.p
-         Sort Method: quicksort  Memory: 27kB
+         Sort Method: quicksort  Memory: 22kB
          ->  Nested Loop (actual rows=90.00 loops=1)
                ->  Function Scan on generate_series p (actual rows=3.00 loops=1)
                ->  Function Scan on generate_series v (actual rows=30.00 loops=3)
@@ -1682,7 +1682,7 @@
    NFA: 19 absorbed (len 1/1/1.0), 5 skipped (len 1/1/1.0)
    ->  Sort (actual rows=50.00 loops=1)
          Sort Key: (CASE WHEN (v.v <= 25) THEN 1 ELSE 2 END)
-         Sort Method: quicksort  Memory: 26kB
+         Sort Method: quicksort  Memory: 21kB
          ->  Function Scan on generate_series v (actual rows=50.00 loops=1)
 (12 rows)
...
58/6040 Fix read/write races with pg_control file in case when postgres was compiled with DEXEC_BACKEND option
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	Sun Feb 22 14:50:42 2026
+++ /home/postgres/postgres/build/testrun/postgres_fdw/regress/results/query_cancel.out	Sun Feb 22 14:56:26 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/5118 SendProcSignal(), SetLatch() → SendInterrupt()
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/recovery/027_stre...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-22 09:34:17
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-22 09:43:47
@@ -4766,6 +4766,8 @@
 CREATE POLICY p0 ON r1 USING (b * 10 = c);
 CREATE POLICY p1 ON r1 AS RESTRICTIVE USING (b > 10);
 CREATE POLICY p2 ON r1 AS RESTRICTIVE USING ((SELECT c) < 400);
+ERROR:  could not extend file "base/16384/3256": No space left on device
+HINT:  Check free disk space.
 ALTER TABLE r1 ENABLE ROW LEVEL SECURITY;
 ALTER TABLE r1 FORCE ROW LEVEL SECURITY;
 -- Should fail p1
@@ -4773,15 +4775,16 @@
 ERROR:  new row violates row-level security policy "p1" for table "r1"
 -- Should fail p2
 INSERT INTO r1 VALUES (4);
-ERROR:  new row violates row-level security policy "p2" for table "r1"
 -- OK
 INSERT INTO r1 VALUES (3);
 SELECT * FROM r1;
...
58/6507 convert SpinLock* macros to static inline functions
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-02-21 22:35:38.666972143 +0000
+++ /home/postgres/postgres/build/testrun/isolation/isolation/results/timeouts.out	2026-02-21 22:39:13.272859016 +0000
@@ -57,7 +57,7 @@
 step sto: 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
 
 starting permutation: wrtbl lto update
 step wrtbl: UPDATE accounts SET balance = balance + 100;
58/6037 Fix race condition in SSI when reading PredXact->SxactGlobalXmin
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-02-21 21:45:45.60...
+++ /tmp/cirrus-ci-build/build/testrun/injection_points/isolation/results/predicate-lock-page-split.out	2026-02-21 21:51...
@@ -64,6 +64,7 @@
 step s3_insert: 
     INSERT INTO test_table SELECT max(id) + 1 FROM test_table;
 
+ERROR:  could not serialize access due to read/write dependencies among transactions
 step wakeup_s2_then_s1: <... completed>
 step s3_commit: 
     COMMIT;
@@ -78,9 +79,9 @@
  id
 ---
 407
-407
 406
 405
 404
+403
...
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-02-21 18:16:13.901379852 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-02-21 18:19:45.7...
@@ -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-02-21 18:16:13.901379852 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-02-21 18:19:52....
@@ -1281,6 +1281,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-02-21 18:16:13.901379852 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-02-21 18:21:12...
@@ -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-02-21 18:16:13.901379852 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-02-21 18:21:2...
@@ -1281,6 +1281,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-02-21 18:16:13.901379852 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_stored.out	2026-02-21 18:19:44.724556607 +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-02-21 18:16:13.901379852 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_virtual.out	2026-02-21 18:19:52.680545812 +0000
@@ -1281,6 +1281,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-02-21 18:15:59
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-02-21 18:18:53
@@ -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-02-21 18:15:59
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-02-21 18:18:57
@@ -1281,6 +1281,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-02-21 18:15:59
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-02-21 18:20:17
@@ -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-02-21 18:15:59
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-02-21 18:20:25
@@ -1281,6 +1281,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-02-21 18:15:59
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/generated_stored.out	2026-02-21 18:18:49
@@ -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-02-21 18:15:59
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/generated_virtual.out	2026-02-21 18:18:55
@@ -1281,6 +1281,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-02-21 18:16:08.725860000 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-02-21 18:20:18.033768000 +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-02-21 18:16:08.726846000 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-02-21 18:20:27.420974900 +...
@@ -1281,6 +1281,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-02-21 18:16:08.725860000 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-02-21 18:23:20.667485300 ...
@@ -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-02-21 18:16:08.726846000 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-02-21 18:23:29.351545400...
@@ -1281,6 +1281,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-02-21 18:16:08.725860000 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_stored.out	2026-02-21 18:20:11.015697800 +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-02-21 18:16:08.726846000 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_virtual.out	2026-02-21 18:20:22.166580200 +0000
@@ -1281,6 +1281,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-02-21 18:16:17.251268400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-02-21 18:19:51.170187700 +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-02-21 18:16:17.251268400 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-02-21 18:20:10.939730500 +...
@@ -1281,6 +1281,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-02-21 18:16:17.251268400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-02-21 18:23:08.559411300 ...
@@ -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-02-21 18:16:17.251268400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-02-21 18:23:28.442716600...
@@ -1281,6 +1281,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-02-21 18:16:17.251268400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_stored.out	2026-02-21 18:19:44.220967800 +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-02-21 18:16:17.251268400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/generated_virtual.out	2026-02-21 18:20:05.360608700 +0000
@@ -1281,6 +1281,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-02-21 18:16:06.993056064 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/generated_stored.out	2026-02-21 18:22:05.331902631 +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-02-21 18:16:06.993056064 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/generated_virtual.out	2026-02-21 18:22:21.484564859 +0000
@@ -1281,6 +1281,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-02-21 18:16:06.993056064 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/generated_stored.out	2026-02-21 18:24:05.499652628 +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-02-21 18:16:06.993056064 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/generated_virtual.out	2026-02-21 18:24:14.095192674 +0000
@@ -1281,6 +1281,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-02-21 18:16:06.993056064 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/generated_stored.out	2026-02-21 18:20:41.473807332 +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-02-21 18:16:06.993056064 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/generated_virtual.out	2026-02-21 18:20:54.169900896 +0000
@@ -1281,6 +1281,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-02-21 18:16:20.547979572 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-02-21 18:18:3...
@@ -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-02-21 18:16:20.548862383 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-02-21 18:18:...
@@ -1281,6 +1281,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-02-21 18:16:20.547979572 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-02-21 18:19...
@@ -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-02-21 18:16:20.548862383 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-02-21 18:1...
@@ -1281,6 +1281,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-02-21 18:16:20.547979572 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_stored.out	2026-02-21 18:18:43.371944457 +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-02-21 18:16:20.548862383 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_virtual.out	2026-02-21 18:18:56.363479700 +0...
@@ -1281,6 +1281,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-02-21 18:16:05.270439000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	2026-02-21 18:18:42.3...
@@ -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-02-21 18:16:05.270493000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	2026-02-21 18:19:05....
@@ -1281,6 +1281,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-02-21 18:16:05.270439000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	2026-02-21 18:19:57...
@@ -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-02-21 18:16:05.270493000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	2026-02-21 18:20:2...
@@ -1281,6 +1281,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-02-21 18:16:05.270439000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_stored.out	2026-02-21 18:18:42.663205000 +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-02-21 18:16:05.270493000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/generated_virtual.out	2026-02-21 18:19:02.926968000 +0000
@@ -1281,6 +1281,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	Sat Feb 21 18:16:31 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_stored.out	Sat Feb 21 18:19:5...
@@ -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	Sat Feb 21 18:16:31 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/generated_virtual.out	Sat Feb 21 18:19:...
@@ -1281,6 +1281,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	Sat Feb 21 18:16:31 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_stored.out	Sat Feb 21 18:21...
@@ -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	Sat Feb 21 18:16:31 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/generated_virtual.out	Sat Feb 21 18:2...
@@ -1281,6 +1281,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	Sat Feb 21 18:16:31 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_stored.out	Sat Feb 21 18:19:39 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	Sat Feb 21 18:16:31 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/generated_virtual.out	Sat Feb 21 18:19:50 2026
@@ -1281,6 +1281,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/pg_upgrade/002_pg_u...
--- /tmp/cirrus-ci-build/src/test/regress/expected/stats.out	2026-02-21 14:49:42.971973000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/stats.out	2026-02-21 14:54:44.295503000 +0...
@@ -243,7 +243,7 @@
 SELECT :seq_scan_after > :seq_scan_before;
  ?column? 
 ----------
- t
+ f
 (1 row)
 
 ----
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/stats.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream...
--- /tmp/cirrus-ci-build/src/test/regress/expected/stats.out	2026-02-21 14:49:42.971973000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/stats.out	2026-02-21 14:56:11.197873000 ...
@@ -243,7 +243,7 @@
 SELECT :seq_scan_after > :seq_scan_before;
  ?column? 
 ----------
- t
+ f
 (1 row)
 
 ----
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-02-21 14:49:42.971973000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/stats.out	2026-02-21 14:54:46.312770000 +0000
@@ -243,7 +243,7 @@
 SELECT :seq_scan_after > :seq_scan_before;
  ?column? 
 ----------
- t
+ f
 (1 row)
 
 ----
58/5018 Extension security improvement: Add support for extensions with an owned schema
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out /tmp/cirrus-ci-build/build/t...
--- /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out	2026-02-20 16:30:28.721857000 +00...
+++ /tmp/cirrus-ci-build/build/testrun/test_extensions/regress/results/test_extensions.out	2026-02-20 16:34:34.841102000...
@@ -755,6 +755,7 @@
 ERROR:  schema "some_other_name" does not exist
 -- Test owned_schema + superuser=false extension
 CREATE USER test_ext_user;
+WARNING:  roles created by regression test cases should have names starting with "regress_"
 GRANT CREATE ON DATABASE regression_test_extensions TO test_ext_user;
 SET SESSION AUTHORIZATION test_ext_user;
 CREATE EXTENSION test_ext_owned_schema_nosuperuser;
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out /tmp/cirrus-ci-build/src/tes...
--- /tmp/cirrus-ci-build/src/test/modules/test_extensions/expected/test_extensions.out	2026-02-20 16:29:53.090349145 +00...
+++ /tmp/cirrus-ci-build/src/test/modules/test_extensions/results/test_extensions.out	2026-02-20 16:33:52.903042327 +000...
@@ -756,71 +756,48 @@
 -- Test owned_schema + superuser=false extension
 CREATE USER test_ext_user;
 GRANT CREATE ON DATABASE regression_test_extensions TO test_ext_user;
+ERROR:  database "regression_test_extensions" does not exist
 SET SESSION AUTHORIZATION test_ext_user;
 CREATE EXTENSION test_ext_owned_schema_nosuperuser;
+ERROR:  permission denied for database contrib_regression
 \dx+ test_ext_owned_schema_nosuperuser;
-Objects in extension "test_ext_owned_schema_nosuperuser"
-               Object description                
--------------------------------------------------
- function test_owned_schema_nosuperuser.owned1()
- schema test_owned_schema_nosuperuser
-(2 rows)
-
 -- Check that schema is owned by the creating user (not bootstrap superuser)
...
58/6180 minor error message enhance: print RLS policy name when only one permissive policy exists
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:26.224415300 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-20 08:21:42.436265900 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:26.224415300 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-20 08:25:22.494319000 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:26.224415300 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/rowsecurity.out	2026-02-20 08:21:39.723847300 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/pg_upgrade/002_...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-20 08:19:45.173938800 +0000
+++ C:/cirrus/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-20 08:23:43.274891900 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/recovery/027_st...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-20 08:19:45.173938800 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-20 08:27:10.389630000 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/rowsecurity.out C:/cirrus/build/testrun/regress/regress...
--- C:/cirrus/src/test/regress/expected/rowsecurity.out	2026-02-20 08:19:45.173938800 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/rowsecurity.out	2026-02-20 08:23:34.464357400 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-20 08:17:55
+++ /Users/admin/pgsql/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-20 08:19:47
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/recovery/027_stre...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-20 08:17:55
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-20 08:20:40
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out /Users/admin/pgsql/build/testrun/regress/regress/r...
--- /Users/admin/pgsql/src/test/regress/expected/rowsecurity.out	2026-02-20 08:17:55
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/rowsecurity.out	2026-02-20 08:19:47
@@ -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 - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/00...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:19:05.814544485 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-20 08:21:11.446438...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:19:05.814544485 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-20 08:22:43.2623...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/regress/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:19:05.814544485 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rowsecurity.out	2026-02-20 08:21:11.226438213 +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	Fri Feb 20 08:19:12 2026
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	Fri Feb 20 08:21:35 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	Fri Feb 20 08:19:12 2026
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	Fri Feb 20 08:23:32 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	Fri Feb 20 08:19:12 2026
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rowsecurity.out	Fri Feb 20 08:21:27 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;
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_chec...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:17:56.177341244 +0000
+++ /tmp/cirrus-ci-build/src/bin/pg_upgrade/tmp_check/results/rowsecurity.out	2026-02-20 08:24:14.954950494 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/src/test/recovery/tmp_check...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:17:56.177341244 +0000
+++ /tmp/cirrus-ci-build/src/test/recovery/tmp_check/results/rowsecurity.out	2026-02-20 08:25:34.178472106 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/src/test/regress/results/ro...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:17:56.177341244 +0000
+++ /tmp/cirrus-ci-build/src/test/regress/results/rowsecurity.out	2026-02-20 08:21:24.098246051 +0000
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/pg_upgr...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:13.515241135 +0000
+++ /home/postgres/postgres/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-20 08:19:47.331...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/recover...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:13.515241135 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-20 08:20:34.1...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/rowsecurity.out /home/postgres/postgres/build/testrun/regress...
--- /home/postgres/postgres/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:13.515241135 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/rowsecurity.out	2026-02-20 08:19:41.318995660 +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-02-20 08:18:52.688476000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out	2026-02-20 08:20:58.198416...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:52.688476000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out	2026-02-20 08:22:21.1041...
@@ -2462,7 +2462,7 @@
 -- DO SELECT requires SELECT rights, should fail for non-novel
 INSERT INTO document VALUES (33, (SELECT cid from category WHERE cname = 'science fiction'), 1, 'regress_rls_bob', 'ano...
     ON CONFLICT (did) DO SELECT RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy for table "document"
+ERROR:  new row violates row-level security policy "p1_select_novels" for table "document"
 -- DO SELECT with WHERE and EXCLUDED reference
 INSERT INTO document VALUES (1, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT WHERE excluded.dlevel = 1 RETURNING did, dauthor, dtitle;
@@ -2482,7 +2482,7 @@
 -- should fail UPDATE USING policy for novel with dlevel = 2
 INSERT INTO document VALUES (2, (SELECT cid from category WHERE cname = 'novel'), 1, 'regress_rls_bob', 'another novel'...
     ON CONFLICT (did) DO SELECT FOR UPDATE RETURNING did, dauthor, dtitle;
-ERROR:  new row violates row-level security policy (USING expression) for table "document"
+ERROR:  new row violates row-level security policy "p3_update_novels" (USING expression) for table "document"
 SET SESSION AUTHORIZATION regress_rls_alice;
 DROP POLICY p1_select_novels ON document;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/regress/regre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out	2026-02-20 08:18:52.688476000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/rowsecurity.out	2026-02-20 08:20:56.957403000 +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;
...
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-02-19 05:14:49.202599115 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/jsonb.out	2026-02-19 05:17:38.634282021 +0...
@@ -3279,2676 +3279,10 @@
 (1 row)
 
 SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.array ? (@[*] == "bar"))';
- count 
--------
-     3
-(1 row)
-
-SELECT count(*) FROM testjsonb WHERE j @@ 'exists($.array[*] ? (@ == "bar"))';
- count 
--------
-     3
-(1 row)
-
-SELECT count(*) FROM testjsonb WHERE j @@ 'exists($)';
- count 
...
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-02-19 05:14:49.202599115 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/json.out	2026-02-19 05:18:58.874258326 +...
@@ -2584,185 +2584,10 @@
 
 -- json_to_tsvector
 select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '...
-                                    json_to_tsvector                                    
-----------------------------------------------------------------------------------------
- '123':8 '456':12 'aaa':2 'b':6 'bbb':4 'c':10 'd':14 'f':18 'fals':20 'g':22 'true':16
-(1 row)
-
-select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '...
-        json_to_tsvector        
---------------------------------
- 'b':2 'c':4 'd':6 'f':8 'g':10
-(1 row)
-
-select json_to_tsvector('english', '{"a": "aaa in bbb", "b": 123, "c": 456, "d": true, "f": false, "g": null}'::json, '...
- 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-02-19 05:14:49.202599115 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/jsonb.out	2026-02-19 05:17:38.338281982 +0000
@@ -3466,2489 +3466,7 @@
 (1 row)
 
 SET enable_hashagg = off;
-SELECT count(*) FROM (SELECT j FROM (SELECT * FROM testjsonb UNION ALL SELECT * FROM testjsonb) js GROUP BY j) js2;
- count 
--------
-   894
-(1 row)
-
-SET enable_hashagg = on;
-SET enable_sort = off;
-SELECT count(*) FROM (SELECT j FROM (SELECT * FROM testjsonb UNION ALL SELECT * FROM testjsonb) js GROUP BY j) js2;
- count 
--------
-   894
-(1 row)
...
58/6410 Enhance btree's pageinspect
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/btree.out C:/cirrus/build/testrun/pageinspect/regres...
--- C:/cirrus/contrib/pageinspect/expected/btree.out	2026-02-13 12:16:22.568631300 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/btree.out	2026-02-13 12:25:43.225721800 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/contrib/pageinspect/expected/btree.out /Users/admin/pgsql/build/testrun/pageinspect/regress/...
--- /Users/admin/pgsql/contrib/pageinspect/expected/btree.out	2026-02-13 12:14:49
+++ /Users/admin/pgsql/build/testrun/pageinspect/regress/results/btree.out	2026-02-13 12:20:24
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/btree.out C:/cirrus/build/testrun/pageinspect/regres...
--- C:/cirrus/contrib/pageinspect/expected/btree.out	2026-02-13 12:15:53.895636900 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/btree.out	2026-02-13 12:25:25.938187100 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regr...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out	2026-02-13 12:15:25.826489843 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/btree.out	2026-02-13 12:19:30.162011997 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
OpenBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pageinspect/expected/btree.out /home/postgres/postgres/build/testrun/pageinspec...
--- /home/postgres/postgres/contrib/pageinspect/expected/btree.out	Fri Feb 13 12:15:29 2026
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/btree.out	Fri Feb 13 12:20:52 2026
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
Linux - Debian Trixie - Autoconf
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/contrib/pageinspect/results/bt...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out	2026-02-13 12:15:55.076628321 +0000
+++ /tmp/cirrus-ci-build/contrib/pageinspect/results/btree.out	2026-02-13 12:20:17.711389108 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regr...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out	2026-02-13 12:15:18.555819000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/btree.out	2026-02-13 12:18:29.191818000 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/pageinspect/expected/btree.out /home/postgres/postgres/build/testrun/pageinspec...
--- /home/postgres/postgres/contrib/pageinspect/expected/btree.out	2026-02-13 12:16:41.946461799 +0000
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/btree.out	2026-02-13 12:19:16.740391350 +0000
@@ -148,23 +148,25 @@
 ERROR:  block number 7 is out of range
 DROP TABLE test2;
 SELECT * FROM bt_page_items('test1_a_idx', -1);
-ERROR:  invalid block number -1
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', -1);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 0);
-ERROR:  block 0 is a meta page
+ERROR:  function bt_page_items(unknown, integer) does not exist
+LINE 1: SELECT * FROM bt_page_items('test1_a_idx', 0);
+                      ^
+DETAIL:  No function of that name accepts the given number of arguments.
 SELECT * FROM bt_page_items('test1_a_idx', 1);
--[ RECORD 1 ]-----------------------
...
58/6388 pageinspect support for SpGiST
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/spgist.out C:/cirrus/build/testrun/pageinspect/regre...
--- C:/cirrus/contrib/pageinspect/expected/spgist.out	2026-02-13 11:16:58.413070000 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/spgist.out	2026-02-13 11:25:49.718744900 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/pageinspect/expected/spgist.out C:/cirrus/build/testrun/pageinspect/regre...
--- C:/cirrus/contrib/pageinspect/expected/spgist.out	2026-02-13 11:16:56.434408200 +0000
+++ C:/cirrus/build/testrun/pageinspect/regress/results/spgist.out	2026-02-13 11:26:31.580636300 +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 | {}
...
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-02-13 11:16:50.273197662 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/spgist.out	2026-02-13 11:20:58.255377259 +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-02-13 11:16:50
+++ /Users/admin/pgsql/build/testrun/pageinspect/regress/results/spgist.out	2026-02-13 11:21:27
@@ -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	Fri Feb 13 11:16:58 2026
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/spgist.out	Fri Feb 13 11:22:19 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 | {}
...
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-02-13 11:17:57.584883547 +0000
+++ /home/postgres/postgres/build/testrun/pageinspect/regress/results/spgist.out	2026-02-13 11:20:34.816870466 +0000
@@ -5,40 +5,36 @@
 CREATE INDEX test_spgist_idx ON test_gist USING spgist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 0));
-    lsn     | nplaceholder | nredirection | flags  
-------------+--------------+--------------+--------
- 0/00000000 |            0 |            0 | {meta}
-(1 row)
-
+ERROR:  function get_raw_page(unknown, integer) does not exist
+LINE 1: SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spg...
+                                              ^
+DETAIL:  There is no function of that name.
 SELECT * FROM spgist_page_opaque_info(get_raw_page('test_spgist_idx', 1));
-    lsn     | nplaceholder | nredirection | flags 
-------------+--------------+--------------+-------
- 0/00000000 |            0 |            0 | {}
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/spgist.out /tmp/cirrus-ci-build/build/testrun/pageinspect/reg...
--- /tmp/cirrus-ci-build/contrib/pageinspect/expected/spgist.out	2026-02-13 11:16:40.985712000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/spgist.out	2026-02-13 11:19:53.825179000 +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/6391 Use CASEFOLD() internally rather than LOWER()
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/citext/expected/create_index_acl.out C:/cirrus/build/testrun/citext/regre...
--- C:/cirrus/contrib/citext/expected/create_index_acl.out	2026-02-11 17:18:35.523097100 +0000
+++ C:/cirrus/build/testrun/citext/regress/results/create_index_acl.out	2026-02-11 17:29:25.616478800 +0000
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out C:/cirrus/build/testrun/dict_xsyn/regres...
--- C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out	2026-02-11 17:18:35.578774400 +0000
+++ C:/cirrus/build/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-02-11 17:29:31.806405400 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "C:/cirrus/build/tmp_install/usr/local/pgsql/share/tsearch_data/xsyn_sample.rule...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out C:/cirrus/build/testrun/postgres_f...
--- C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out	2026-02-11 17:18:35.985505200 +0000
+++ C:/cirrus/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-02-11 17:30:07.397219600 +0000
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/recovery/027_stream...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-02-11 17:18:40.412750900 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/strings.out	2026-02-11 17:26:31.407956700 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/regress/regress/res...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-02-11 17:18:40.412750900 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/strings.out	2026-02-11 17:23:07.283470900 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/test_parser/expected/test_parser.out C:/cirrus/build/testrun/tes...
--- C:/cirrus/src/test/modules/test_parser/expected/test_parser.out	2026-02-11 17:18:40.061164600 +0000
+++ C:/cirrus/build/testrun/test_parser/regress/results/test_parser.out	2026-02-11 17:30:35.111092800 +0000
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/citext/expected/create_index_acl.out /tmp/cirrus-ci-build/build-32/testrun/citext/...
--- /tmp/cirrus-ci-build/contrib/citext/expected/create_index_acl.out	2026-02-11 17:18:32.783063861 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/citext/regress/results/create_index_acl.out	2026-02-11 17:31:11.329258562 +000...
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/dict_xsyn/expected/dict_xsyn.out /tmp/cirrus-ci-build/build-32/testrun/dict_xsyn/r...
--- /tmp/cirrus-ci-build/contrib/dict_xsyn/expected/dict_xsyn.out	2026-02-11 17:18:32.791092794 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-02-11 17:31:15.893276043 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "/tmp/cirrus-ci-build/build-32/tmp_install/usr/local/pgsql/share/tsearch_data/xs...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff -U3 /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out /tmp/cirrus-ci-build/build-32/testrun/postg...
--- /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out	2026-02-11 17:18:32.875396601 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-02-11 17:31:56.505435961 +0...
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out /tmp/cirrus-ci-build/build-32/testrun/recovery/027_s...
--- /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out	2026-02-11 17:18:34.729806923 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/recovery/027_stream_regress/data/results/tstypes.out	2026-02-11 17:30:19.20506...
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out /tmp/cirrus-ci-build/build-32/testrun/regress/regres...
--- /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out	2026-02-11 17:18:34.729806923 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/regress/regress/results/tstypes.out	2026-02-11 17:28:44.096785739 +0000
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_parser/expected/test_parser.out /tmp/cirrus-ci-build/build-32/testru...
--- /tmp/cirrus-ci-build/src/test/modules/test_parser/expected/test_parser.out	2026-02-11 17:18:34.577291000 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/test_parser/regress/results/test_parser.out	2026-02-11 17:32:08.381484003 +000...
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/citext/expected/create_index_acl.out C:/cirrus/build/testrun/citext/regre...
--- C:/cirrus/contrib/citext/expected/create_index_acl.out	2026-02-11 17:18:29.651810700 +0000
+++ C:/cirrus/build/testrun/citext/regress/results/create_index_acl.out	2026-02-11 17:27:08.532959600 +0000
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out C:/cirrus/build/testrun/dict_xsyn/regres...
--- C:/cirrus/contrib/dict_xsyn/expected/dict_xsyn.out	2026-02-11 17:18:29.698084000 +0000
+++ C:/cirrus/build/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-02-11 17:27:14.106195500 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "C:/cirrus/build/tmp_install/usr/local/pgsql/share/tsearch_data/xsyn_sample.rule...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out C:/cirrus/build/testrun/postgres_f...
--- C:/cirrus/contrib/postgres_fdw/expected/postgres_fdw.out	2026-02-11 17:18:30.136656400 +0000
+++ C:/cirrus/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-02-11 17:27:53.557372500 +0000
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/recovery/027_stream...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-02-11 17:18:34.645990400 +0000
+++ C:/cirrus/build/testrun/recovery/027_stream_regress/data/results/strings.out	2026-02-11 17:24:32.914312900 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/regress/expected/strings.out C:/cirrus/build/testrun/regress/regress/res...
--- C:/cirrus/src/test/regress/expected/strings.out	2026-02-11 17:18:34.645990400 +0000
+++ C:/cirrus/build/testrun/regress/regress/results/strings.out	2026-02-11 17:21:13.381599300 +0000
@@ -1837,53 +1837,21 @@
 -- Be sure to form every test as an ILIKE/NOT ILIKE pair.
 --
 SELECT 'hawkeye' ILIKE 'h%' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT 'hawkeye' NOT ILIKE 'h%' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/test_parser/expected/test_parser.out C:/cirrus/build/testrun/tes...
--- C:/cirrus/src/test/modules/test_parser/expected/test_parser.out	2026-02-11 17:18:34.274723100 +0000
+++ C:/cirrus/build/testrun/test_parser/regress/results/test_parser.out	2026-02-11 17:28:12.757084100 +0000
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/citext/expected/create_index_acl.out /home/postgres/postgres/build/testrun/cite...
--- /home/postgres/postgres/contrib/citext/expected/create_index_acl.out	2026-02-11 17:18:52.770823603 +0000
+++ /home/postgres/postgres/build/testrun/citext/regress/results/create_index_acl.out	2026-02-11 17:21:12.968945245 +000...
@@ -57,21 +57,26 @@
   WHERE (s.index_row_if(y));
 -- Make the table nonempty.
 INSERT INTO s.x VALUES ('foo'), ('bar');
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- If the INSERT runs the planner on index expressions, a search_path change
 -- survives.  As of 2022-06, the INSERT reuses a cached plan.  It does so even
 -- under debug_discard_caches, since each index is new-in-transaction.  If
 -- future work changes a cache lifecycle, this RESET may become necessary.
 RESET search_path;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 -- For a nonempty table, owner needs permissions throughout ii_Expressions.
 GRANT EXECUTE ON FUNCTION s.index_this_expr TO regress_minimal;
+ERROR:  current transaction is aborted, commands ignored until end of transaction block
 CREATE UNIQUE INDEX u2rows ON s.x USING btree
   ((s.index_this_expr(y, s.const())) COLLATE s.coll s.citext_pattern_ops)
   TABLESPACE regress_create_idx_tblspace
...
regress
diff -U3 /home/postgres/postgres/contrib/dict_xsyn/expected/dict_xsyn.out /home/postgres/postgres/build/testrun/dict_xsy...
--- /home/postgres/postgres/contrib/dict_xsyn/expected/dict_xsyn.out	2026-02-11 17:18:52.843572691 +0000
+++ /home/postgres/postgres/build/testrun/dict_xsyn/regress/results/dict_xsyn.out	2026-02-11 17:21:14.003134358 +0000
@@ -1,11 +1,14 @@
 CREATE EXTENSION dict_xsyn;
 -- default configuration - match first word and return it among with all synonyms
 ALTER TEXT SEARCH DICTIONARY xsyn (RULES='xsyn_sample', KEEPORIG=true, MATCHORIG=true, KEEPSYNONYMS=true, MATCHSYNONYMS...
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
+CONTEXT:  line 1 of configuration file "/home/postgres/postgres/build/tmp_install/usr/local/pgsql/share/tsearch_data/xs...
+"
 --lexize
 SELECT ts_lexize('xsyn', 'supernova');
-        ts_lexize         
---------------------------
- {supernova,sn,sne,1987a}
+ ts_lexize 
+-----------
+ 
 (1 row)
 
...
regress
diff -U3 /home/postgres/postgres/contrib/postgres_fdw/expected/postgres_fdw.out /home/postgres/postgres/build/testrun/po...
--- /home/postgres/postgres/contrib/postgres_fdw/expected/postgres_fdw.out	2026-02-11 17:18:53.565583113 +0000
+++ /home/postgres/postgres/build/testrun/postgres_fdw/regress/results/postgres_fdw.out	2026-02-11 17:21:26.255248727 +0...
@@ -1206,11 +1206,7 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
- c1  | to_tsvector 
------+-------------
- 642 | '00642':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 -- but if it's in a shippable extension, it can be shipped
 ALTER EXTENSION postgres_fdw ADD TEXT SEARCH CONFIGURATION public.custom_search;
 -- however, that doesn't flush the shippability cache, so do a quick reconnect
@@ -1227,11 +1223,8 @@
 
 SELECT c1, to_tsvector('custom_search'::regconfig, c3) FROM ft1
 WHERE c1 = 642 AND length(to_tsvector('custom_search'::regconfig, c3)) > 0;
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/tstypes.out /home/postgres/postgres/build/testrun/recovery/02...
--- /home/postgres/postgres/src/test/regress/expected/tstypes.out	2026-02-11 17:19:01.425388630 +0000
+++ /home/postgres/postgres/build/testrun/recovery/027_stream_regress/data/results/tstypes.out	2026-02-11 17:20:34.43836...
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /home/postgres/postgres/src/test/regress/expected/tstypes.out /home/postgres/postgres/build/testrun/regress/reg...
--- /home/postgres/postgres/src/test/regress/expected/tstypes.out	2026-02-11 17:19:01.425388630 +0000
+++ /home/postgres/postgres/build/testrun/regress/regress/results/tstypes.out	2026-02-11 17:19:58.682097078 +0000
@@ -686,294 +686,102 @@
 
 --phrase search
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <-> 2' AS "true";
- true 
-------
- t
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsvector('simple', '1 2 3 1') @@ '1 <2> 2' AS "false";
- false 
--------
- f
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
regress
diff -U3 /home/postgres/postgres/src/test/modules/test_parser/expected/test_parser.out /home/postgres/postgres/build/tes...
--- /home/postgres/postgres/src/test/modules/test_parser/expected/test_parser.out	2026-02-11 17:19:00.771556135 +0000
+++ /home/postgres/postgres/build/testrun/test_parser/regress/results/test_parser.out	2026-02-11 17:21:35.012938950 +000...
@@ -24,21 +24,9 @@
 (15 rows)
 
 SELECT to_tsvector('testcfg','That''s my first own parser');
-                   to_tsvector                   
--------------------------------------------------
- 'first':3 'my':2 'own':4 'parser':5 'that''s':1
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
 SELECT to_tsquery('testcfg', 'star');
- to_tsquery 
-------------
- 'star'
-(1 row)
-
+ERROR:  Unicode case folding can only be performed if server encoding is UTF8
...
58/6431 [BUG#19384] Fix Server crash at textout
macOS - Sequoia - Meson
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/indirect_toast.out /Users/admin/pgsql/build/testrun/recovery/027_s...
--- /Users/admin/pgsql/src/test/regress/expected/indirect_toast.out	2026-02-11 06:44:28
+++ /Users/admin/pgsql/build/testrun/recovery/027_stream_regress/data/results/indirect_toast.out	2026-02-11 06:47:35
@@ -152,15 +152,8 @@
 -- check we didn't screw with main/toast tuple visibility
 VACUUM FREEZE indtoasttest;
 SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest;
-                                                                                                substring              ...
------------------------------------------------------------------------------------------------------------------------...
- (two-compressed,8,--12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678...
- (two-toasted,8,--12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901...
- ("one-compressed,one-null",8,,1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678...
- ("one-toasted,one-null",8,,1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901...
- ("one-toasted,one-null, via indirect",0,123456789012345678901234567890123456789012345678901234567890123456789012345678...
-(5 rows)
-
+ERROR:  type indtoasttest has changed
+DETAIL:  The composite value was created using a previous definition of type indtoasttest.
 DROP TABLE indtoasttest;
 DROP FUNCTION update_using_indirect();
...
regress
diff -U3 /Users/admin/pgsql/src/test/regress/expected/indirect_toast.out /Users/admin/pgsql/build/testrun/regress/regres...
--- /Users/admin/pgsql/src/test/regress/expected/indirect_toast.out	2026-02-11 06:44:28
+++ /Users/admin/pgsql/build/testrun/regress/regress/results/indirect_toast.out	2026-02-11 06:46:36
@@ -140,15 +140,8 @@
 
 INSERT INTO indtoasttest(descr, f1, f2) VALUES('one-toasted,one-null, via indirect', repeat('1234567890',30000), NULL);
 SELECT substring(indtoasttest::text, 1, 200) FROM indtoasttest;
-                                                                                                substring              ...
------------------------------------------------------------------------------------------------------------------------...
- (two-compressed,8,--12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678...
- (two-toasted,8,--12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901...
- ("one-compressed,one-null",8,,1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678...
- ("one-toasted,one-null",8,,1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901...
- ("one-toasted,one-null, via indirect",0,123456789012345678901234567890123456789012345678901234567890123456789012345678...
-(5 rows)
-
+ERROR:  type indtoasttest has changed
+DETAIL:  The composite value was created using a previous definition of type indtoasttest.
 -- check we didn't screw with main/toast tuple visibility
 VACUUM FREEZE indtoasttest;
...
57/6299 New grouping strategy - Index Aggregate
Linux - Debian Trixie - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out /tmp/cirrus-ci-build/build-32/testrun/pg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out	2026-02-05 11:26:18.200257217 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/pg_upgrade/002_pg_upgrade/data/results/partition_aggregate.out	2026-02-05 11:3...
@@ -1010,7 +1010,7 @@
 --------------------------------------------------------------------
  Sort
    Sort Key: pagg_tab_m.a, (sum(pagg_tab_m.b)), (avg(pagg_tab_m.c))
-   ->  Finalize IndexAggregate
+   ->  Finalize HashAggregate
          Group Key: pagg_tab_m.a
          Filter: (avg(pagg_tab_m.c) < '22'::numeric)
          ->  Append
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out /tmp/cirrus-ci-build/build-32/testrun/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out	2026-02-05 11:26:18.200257217 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/recovery/027_stream_regress/data/results/partition_aggregate.out	2026-02-05 11...
@@ -1010,7 +1010,7 @@
 --------------------------------------------------------------------
  Sort
    Sort Key: pagg_tab_m.a, (sum(pagg_tab_m.b)), (avg(pagg_tab_m.c))
-   ->  Finalize IndexAggregate
+   ->  Finalize HashAggregate
          Group Key: pagg_tab_m.a
          Filter: (avg(pagg_tab_m.c) < '22'::numeric)
          ->  Append
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out /tmp/cirrus-ci-build/build-32/testrun/re...
--- /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out	2026-02-05 11:26:18.200257217 +0000
+++ /tmp/cirrus-ci-build/build-32/testrun/regress/regress/results/partition_aggregate.out	2026-02-05 11:37:48.082177970 ...
@@ -1010,7 +1010,7 @@
 --------------------------------------------------------------------
  Sort
    Sort Key: pagg_tab_m.a, (sum(pagg_tab_m.b)), (avg(pagg_tab_m.c))
-   ->  Finalize IndexAggregate
+   ->  Finalize HashAggregate
          Group Key: pagg_tab_m.a
          Filter: (avg(pagg_tab_m.c) < '22'::numeric)
          ->  Append
57/6343 Reuse data from readRecordBuf in XLogDecodeNextRecord
Windows - Server 2022, MinGW64 - Meson
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/rewrite.out C:/cirrus/build/testrun/test_decoding/...
--- C:/cirrus/contrib/test_decoding/expected/rewrite.out	2026-02-05 11:05:31.763416500 +0000
+++ C:/cirrus/build/testrun/test_decoding/regress/results/rewrite.out	2026-02-05 11:25:27.605463000 +0000
@@ -116,49 +116,7 @@
 -- make old files go away
 CHECKPOINT;
 SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1...
-                                                                                       data                            ...
------------------------------------------------------------------------------------------------------------------------...
- BEGIN
- table public.replication_example: INSERT: id[integer]:2 somedata[integer]:2 text[character varying]:null
- table public.replication_example: INSERT: id[integer]:3 somedata[integer]:3 text[character varying]:null testcolumn1[i...
- COMMIT
- BEGIN
- table public.replication_example: INSERT: id[integer]:4 somedata[integer]:3 text[character varying]:null testcolumn1[i...
- table public.replication_example: INSERT: id[integer]:5 somedata[integer]:4 text[character varying]:null testcolumn1[i...
- COMMIT
- BEGIN
- table public.replication_example: INSERT: id[integer]:6 somedata[integer]:5 text[character varying]:null testcolumn1[i...
- COMMIT
...
Windows - Server 2022, VS 2019 - Meson & ninja
regress
diff --strip-trailing-cr -U3 C:/cirrus/contrib/test_decoding/expected/rewrite.out C:/cirrus/build/testrun/test_decoding/...
--- C:/cirrus/contrib/test_decoding/expected/rewrite.out	2026-02-05 11:05:11.978411800 +0000
+++ C:/cirrus/build/testrun/test_decoding/regress/results/rewrite.out	2026-02-05 11:17:09.629792900 +0000
@@ -116,49 +116,7 @@
 -- make old files go away
 CHECKPOINT;
 SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1...
-                                                                                       data                            ...
------------------------------------------------------------------------------------------------------------------------...
- BEGIN
- table public.replication_example: INSERT: id[integer]:2 somedata[integer]:2 text[character varying]:null
- table public.replication_example: INSERT: id[integer]:3 somedata[integer]:3 text[character varying]:null testcolumn1[i...
- COMMIT
- BEGIN
- table public.replication_example: INSERT: id[integer]:4 somedata[integer]:3 text[character varying]:null testcolumn1[i...
- table public.replication_example: INSERT: id[integer]:5 somedata[integer]:4 text[character varying]:null testcolumn1[i...
- COMMIT
- BEGIN
- table public.replication_example: INSERT: id[integer]:6 somedata[integer]:5 text[character varying]:null testcolumn1[i...
- COMMIT
...
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/contrib/test_decoding/expected/rewrite.out /tmp/cirrus-ci-build/build/testrun/test_decodin...
--- /tmp/cirrus-ci-build/contrib/test_decoding/expected/rewrite.out	2026-02-05 11:05:07.776723000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/test_decoding/regress/results/rewrite.out	2026-02-05 11:12:51.819473000 +0000
@@ -116,49 +116,7 @@
 -- make old files go away
 CHECKPOINT;
 SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1...
-                                                                                       data                            ...
------------------------------------------------------------------------------------------------------------------------...
- BEGIN
- table public.replication_example: INSERT: id[integer]:2 somedata[integer]:2 text[character varying]:null
- table public.replication_example: INSERT: id[integer]:3 somedata[integer]:3 text[character varying]:null testcolumn1[i...
- COMMIT
- BEGIN
- table public.replication_example: INSERT: id[integer]:4 somedata[integer]:3 text[character varying]:null testcolumn1[i...
- table public.replication_example: INSERT: id[integer]:5 somedata[integer]:4 text[character varying]:null testcolumn1[i...
- COMMIT
- BEGIN
- table public.replication_example: INSERT: id[integer]:6 somedata[integer]:5 text[character varying]:null testcolumn1[i...
- COMMIT
...
57/6198 Change initdb default to the builtin collation provider
NetBSD - Meson
regress
diff -U3 /home/postgres/postgres/contrib/citext/expected/citext_utf8.out /home/postgres/postgres/build/testrun/citext/re...
--- /home/postgres/postgres/contrib/citext/expected/citext_utf8.out	2026-02-05 10:53:38.966865857 +0000
+++ /home/postgres/postgres/build/testrun/citext/regress/results/citext_utf8.out	2026-02-05 10:56:51.734010110 +0000
@@ -30,7 +30,7 @@
 SELECT 'À'::citext =  'à'::citext AS t;
  t 
 ---
- t
+ f
 (1 row)
 
 SELECT 'À'::text   =  'à'::text   AS f; -- text wins.
@@ -64,7 +64,7 @@
 SELECT 'i'::citext = 'İ'::citext AS t;
  t 
 ---
- t
+ f
 (1 row)
 
...
regress
diff -U3 /home/postgres/postgres/src/test/modules/test_regex/expected/test_regex_utf8.out /home/postgres/postgres/build/...
--- /home/postgres/postgres/src/test/modules/test_regex/expected/test_regex_utf8.out	2026-02-05 10:53:46.121240149 +0000
+++ /home/postgres/postgres/build/testrun/test_regex/regress/results/test_regex_utf8.out	2026-02-05 10:57:13.464803005 +...
@@ -151,7 +151,7 @@
    test_regex    
 -----------------
  {0,REG_ULOCALE}
- {xᔀሷ}
+ {x}
 (2 rows)
 
 select * from test_regex('[[:lower:]]+',  E'x\u1500\u1237', 'L');
@@ -165,7 +165,7 @@
    test_regex    
 -----------------
  {0,REG_ULOCALE}
- {xᔀሷ}
+ {x}
 (2 rows)
 
...
57/6176 Batching in executor, part 1: add batch variant of table AM scan API
FreeBSD - Meson
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/explain.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg...
--- /tmp/cirrus-ci-build/src/test/regress/expected/explain.out	2026-02-02 06:35:13.949772000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/explain.out	2026-02-02 06:40:30.684226000 ...
@@ -844,10 +844,9 @@
  Seq Scan on batch_test (actual time=N.N..N.N rows=N.N loops=N)
    Filter: (a > N)
    Rows Removed by Filter: N
-   Batches: N  Avg Rows: N.N  Max: N  Min: N
  Planning Time: N.N ms
  Execution Time: N.N ms
-(6 rows)
+(5 rows)
 
 -- With LIMIT - partial scan shows fewer batches
 select explain_filter('explain (analyze, batches, buffers off, costs off) select * from batch_test limit 100');
@@ -855,10 +854,9 @@
 ----------------------------------------------------------------------
  Limit (actual time=N.N..N.N rows=N.N loops=N)
    ->  Seq Scan on batch_test (actual time=N.N..N.N rows=N.N loops=N)
-         Batches: N  Avg Rows: N.N  Max: N  Min: N
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/explain.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stre...
--- /tmp/cirrus-ci-build/src/test/regress/expected/explain.out	2026-02-02 06:35:13.949772000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/explain.out	2026-02-02 06:41:41.08535200...
@@ -855,10 +855,9 @@
 ----------------------------------------------------------------------
  Limit (actual time=N.N..N.N rows=N.N loops=N)
    ->  Seq Scan on batch_test (actual time=N.N..N.N rows=N.N loops=N)
-         Batches: N  Avg Rows: N.N  Max: N  Min: N
  Planning Time: N.N ms
  Execution Time: N.N ms
-(5 rows)
+(4 rows)
 
 -- Batching disabled - no batch line
 set executor_batch_rows = 0;
@@ -875,7 +874,7 @@
 select explain_filter_to_json('explain (analyze, batches, buffers off, format json) select * from batch_test where a < ...
  ?column? 
 ----------
- 0
...
regress
diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/explain.out /tmp/cirrus-ci-build/build/testrun/regress/regress/r...
--- /tmp/cirrus-ci-build/src/test/regress/expected/explain.out	2026-02-02 06:35:13.949772000 +0000
+++ /tmp/cirrus-ci-build/build/testrun/regress/regress/results/explain.out	2026-02-02 06:40:25.660098000 +0000
@@ -844,10 +844,9 @@
  Seq Scan on batch_test (actual time=N.N..N.N rows=N.N loops=N)
    Filter: (a > N)
    Rows Removed by Filter: N
-   Batches: N  Avg Rows: N.N  Max: N  Min: N
  Planning Time: N.N ms
  Execution Time: N.N ms
-(6 rows)
+(5 rows)
 
 -- With LIMIT - partial scan shows fewer batches
 select explain_filter('explain (analyze, batches, buffers off, costs off) select * from batch_test limit 100');
@@ -855,10 +854,9 @@
 ----------------------------------------------------------------------
  Limit (actual time=N.N..N.N rows=N.N loops=N)
    ->  Seq Scan on batch_test (actual time=N.N..N.N rows=N.N loops=N)
-         Batches: N  Avg Rows: N.N  Max: N  Min: N
...