I wrote:
> 3. I think it's highly likely that the new test case is not portable.
> In particular a machine with MAXALIGN 4 would be likely to put a
> different number of tuples per page, or do the page split differently
> so that the page with fewer index tuples isn't page 3. Unfortunately
> I don't seem to have a working setup like that right at the moment
> to verify; but I'd counsel trying this inside a VM or something to
> see if it's actually likely to survive on the buildfarm.
I spun up a 32-bit VM, since that had been on my to-do list anyway,
and it looks like I was right:
diff -U3 /usr/home/tgl/pgsql/contrib/pageinspect/expected/btree.out
/usr/home/tgl/pgsql/contrib/pageinspect/results/btree.out
--- /usr/home/tgl/pgsql/contrib/pageinspect/expected/btree.out 2022-09-12 15:15:40.432135000 -0400
+++ /usr/home/tgl/pgsql/contrib/pageinspect/results/btree.out 2022-09-12 15:15:54.481549000 -0400
@@ -49,11 +49,11 @@
-[ RECORD 1 ]-+-----
blkno | 1
type | l
-live_items | 367
+live_items | 458
dead_items | 0
-avg_item_size | 16
+avg_item_size | 12
page_size | 8192
-free_size | 808
+free_size | 820
btpo_prev | 0
btpo_next | 2
btpo_level | 0
@@ -61,11 +61,11 @@
... etc etc ...
regards, tom lane