Re: index prefetching - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: index prefetching
Date
Msg-id DC1G2PKUO9CI.3MK1L3YBZ2V3T@bowt.ie
Whole thread Raw
In response to Re: index prefetching  (Tomas Vondra <tomas@vondra.me>)
Responses Re: index prefetching
List pgsql-hackers
On Wed, Aug 13, 2025 at 8:15 AM Tomas Vondra <tomas@vondra.me> wrote:
> 1) created a second table with an "inverse pattern" that's decreasing:
>
>   create table t2 (like t) with (fillfactor = 20);
>   insert into t2 select -a, b from t;
>   create index idx2 on t2 (a);
>   alter index idx2 set (deduplicate_items = false);
>   reindex index idx2;
>
>   The idea is that
>
>   SELECT * FROM t WHERE (a BETWEEN x AND y) ORDER BY a ASC
>
>   is the same "block pattern" as
>
>   SELECT * FROM t2 WHERE (a BETWEEN -y AND -x) ORDER BY a DESC

A quick look at "idx2" using pageinspect seems to show heap block numbers that
are significantly less in-order than those from the original "idx" index,
though. While the original "idx" has block numbers that are *almost* in perfect
order (I do see the odd index tuple that has a non-consecutive TID, possibly
just due to the influence of the heap FSM), "idx2" seems to have leaf pages that
each have heap blocks that are somewhat "shuffled" within each page.

While the average total number of heap blocks seen with "idx2" might not be very
much higher than "idx", it is nevertheless true that the heap TIDs appear in a
less consistent order. So AFAICT we have no principled reason to expect the
"runs" seen on "idx2" to be anything like "idx" (maybe the performance gap is a
real problem, since the physical attributes of each index aren't hugely
different, but even then the "runs" stats don't seem all that uninformative).

I'll show what I mean by "shuffled" via a comparison of 2 random leaf pages from
each index. Here's what block 5555 from "idx2" looks like according to
bt_page_items (it shows a certain amount of "localized shuffling"):

┌────────────┬───────────────┬───────────────┬─────────────┐
│ itemoffset │     ctid      │     data      │    htid     │
├────────────┼───────────────┼───────────────┼─────────────┤
│          1 │ (379861,4097) │ (a)=(-249285) │ (379861,7)  │
│          2 │ (379880,13)   │ (a)=(-249297) │ (379880,13) │
│          3 │ (379880,14)   │ (a)=(-249297) │ (379880,14) │
│          4 │ (379880,15)   │ (a)=(-249297) │ (379880,15) │
│          5 │ (379880,16)   │ (a)=(-249297) │ (379880,16) │
│          6 │ (379880,17)   │ (a)=(-249297) │ (379880,17) │
│          7 │ (379880,18)   │ (a)=(-249297) │ (379880,18) │
│          8 │ (379880,19)   │ (a)=(-249297) │ (379880,19) │
│          9 │ (379880,20)   │ (a)=(-249297) │ (379880,20) │
│         10 │ (379880,21)   │ (a)=(-249297) │ (379880,21) │
│         11 │ (379881,2)    │ (a)=(-249297) │ (379881,2)  │
│         12 │ (379881,3)    │ (a)=(-249297) │ (379881,3)  │
│         13 │ (379881,4)    │ (a)=(-249297) │ (379881,4)  │
│         14 │ (379878,2)    │ (a)=(-249296) │ (379878,2)  │
│         15 │ (379878,3)    │ (a)=(-249296) │ (379878,3)  │
│         16 │ (379878,5)    │ (a)=(-249296) │ (379878,5)  │
│         17 │ (379878,6)    │ (a)=(-249296) │ (379878,6)  │
│         18 │ (379878,7)    │ (a)=(-249296) │ (379878,7)  │
│         19 │ (379878,8)    │ (a)=(-249296) │ (379878,8)  │
│         20 │ (379878,9)    │ (a)=(-249296) │ (379878,9)  │
│         21 │ (379878,10)   │ (a)=(-249296) │ (379878,10) │
│         22 │ (379878,11)   │ (a)=(-249296) │ (379878,11) │
│         23 │ (379878,12)   │ (a)=(-249296) │ (379878,12) │
│         24 │ (379878,13)   │ (a)=(-249296) │ (379878,13) │
│         25 │ (379878,14)   │ (a)=(-249296) │ (379878,14) │
│         26 │ (379878,15)   │ (a)=(-249296) │ (379878,15) │
│         27 │ (379878,16)   │ (a)=(-249296) │ (379878,16) │
│         28 │ (379878,17)   │ (a)=(-249296) │ (379878,17) │
│         29 │ (379878,18)   │ (a)=(-249296) │ (379878,18) │
│         30 │ (379878,19)   │ (a)=(-249296) │ (379878,19) │
│         31 │ (379878,20)   │ (a)=(-249296) │ (379878,20) │
│         32 │ (379878,21)   │ (a)=(-249296) │ (379878,21) │
│         33 │ (379879,1)    │ (a)=(-249296) │ (379879,1)  │
│         34 │ (379879,2)    │ (a)=(-249296) │ (379879,2)  │
│         35 │ (379879,3)    │ (a)=(-249296) │ (379879,3)  │
│         36 │ (379879,4)    │ (a)=(-249296) │ (379879,4)  │
│         37 │ (379879,5)    │ (a)=(-249296) │ (379879,5)  │
│         38 │ (379879,6)    │ (a)=(-249296) │ (379879,6)  │
│         39 │ (379879,7)    │ (a)=(-249296) │ (379879,7)  │
│         40 │ (379879,8)    │ (a)=(-249296) │ (379879,8)  │
│         41 │ (379879,9)    │ (a)=(-249296) │ (379879,9)  │
│         42 │ (379879,10)   │ (a)=(-249296) │ (379879,10) │
│         43 │ (379879,12)   │ (a)=(-249296) │ (379879,12) │
│         44 │ (379879,13)   │ (a)=(-249296) │ (379879,13) │
│         45 │ (379879,14)   │ (a)=(-249296) │ (379879,14) │
│         46 │ (379876,10)   │ (a)=(-249295) │ (379876,10) │
│         47 │ (379876,12)   │ (a)=(-249295) │ (379876,12) │
│         48 │ (379876,14)   │ (a)=(-249295) │ (379876,14) │
│         49 │ (379876,16)   │ (a)=(-249295) │ (379876,16) │
│         50 │ (379876,17)   │ (a)=(-249295) │ (379876,17) │
│         51 │ (379876,18)   │ (a)=(-249295) │ (379876,18) │
│         52 │ (379876,19)   │ (a)=(-249295) │ (379876,19) │
│         53 │ (379876,20)   │ (a)=(-249295) │ (379876,20) │
│         54 │ (379876,21)   │ (a)=(-249295) │ (379876,21) │
│         55 │ (379877,1)    │ (a)=(-249295) │ (379877,1)  │
│         56 │ (379877,2)    │ (a)=(-249295) │ (379877,2)  │
│         57 │ (379877,3)    │ (a)=(-249295) │ (379877,3)  │
│         58 │ (379877,4)    │ (a)=(-249295) │ (379877,4)  │
│         59 │ (379877,5)    │ (a)=(-249295) │ (379877,5)  │
│         60 │ (379877,6)    │ (a)=(-249295) │ (379877,6)  │
│         61 │ (379877,7)    │ (a)=(-249295) │ (379877,7)  │
│         62 │ (379877,8)    │ (a)=(-249295) │ (379877,8)  │
│         63 │ (379877,9)    │ (a)=(-249295) │ (379877,9)  │
│         64 │ (379877,10)   │ (a)=(-249295) │ (379877,10) │
│         65 │ (379877,11)   │ (a)=(-249295) │ (379877,11) │
│         66 │ (379877,12)   │ (a)=(-249295) │ (379877,12) │
│         67 │ (379877,13)   │ (a)=(-249295) │ (379877,13) │
│         68 │ (379877,14)   │ (a)=(-249295) │ (379877,14) │
│         69 │ (379877,15)   │ (a)=(-249295) │ (379877,15) │
│         70 │ (379877,16)   │ (a)=(-249295) │ (379877,16) │
│         71 │ (379877,17)   │ (a)=(-249295) │ (379877,17) │
│         72 │ (379877,18)   │ (a)=(-249295) │ (379877,18) │
│         73 │ (379877,19)   │ (a)=(-249295) │ (379877,19) │
│         74 │ (379877,20)   │ (a)=(-249295) │ (379877,20) │
│         75 │ (379877,21)   │ (a)=(-249295) │ (379877,21) │
│         76 │ (379878,1)    │ (a)=(-249295) │ (379878,1)  │
│         77 │ (379878,4)    │ (a)=(-249295) │ (379878,4)  │
│         78 │ (379874,20)   │ (a)=(-249294) │ (379874,20) │
│         79 │ (379875,2)    │ (a)=(-249294) │ (379875,2)  │
│         80 │ (379875,3)    │ (a)=(-249294) │ (379875,3)  │
│         81 │ (379875,5)    │ (a)=(-249294) │ (379875,5)  │
│         82 │ (379875,6)    │ (a)=(-249294) │ (379875,6)  │
│         83 │ (379875,7)    │ (a)=(-249294) │ (379875,7)  │
│         84 │ (379875,8)    │ (a)=(-249294) │ (379875,8)  │
│         85 │ (379875,9)    │ (a)=(-249294) │ (379875,9)  │
│         86 │ (379875,10)   │ (a)=(-249294) │ (379875,10) │
│         87 │ (379875,11)   │ (a)=(-249294) │ (379875,11) │
│         88 │ (379875,12)   │ (a)=(-249294) │ (379875,12) │
│         89 │ (379875,13)   │ (a)=(-249294) │ (379875,13) │
│         90 │ (379875,14)   │ (a)=(-249294) │ (379875,14) │
│         91 │ (379875,15)   │ (a)=(-249294) │ (379875,15) │
│         92 │ (379875,16)   │ (a)=(-249294) │ (379875,16) │
│         93 │ (379875,17)   │ (a)=(-249294) │ (379875,17) │
│         94 │ (379875,18)   │ (a)=(-249294) │ (379875,18) │
│         95 │ (379875,19)   │ (a)=(-249294) │ (379875,19) │
│         96 │ (379875,20)   │ (a)=(-249294) │ (379875,20) │
│         97 │ (379875,21)   │ (a)=(-249294) │ (379875,21) │
│         98 │ (379876,1)    │ (a)=(-249294) │ (379876,1)  │
│         99 │ (379876,2)    │ (a)=(-249294) │ (379876,2)  │
│        100 │ (379876,3)    │ (a)=(-249294) │ (379876,3)  │
│        101 │ (379876,4)    │ (a)=(-249294) │ (379876,4)  │
│        102 │ (379876,5)    │ (a)=(-249294) │ (379876,5)  │
│        103 │ (379876,6)    │ (a)=(-249294) │ (379876,6)  │
│        104 │ (379876,7)    │ (a)=(-249294) │ (379876,7)  │
│        105 │ (379876,8)    │ (a)=(-249294) │ (379876,8)  │
│        106 │ (379876,9)    │ (a)=(-249294) │ (379876,9)  │
│        107 │ (379876,11)   │ (a)=(-249294) │ (379876,11) │
│        108 │ (379876,13)   │ (a)=(-249294) │ (379876,13) │
│        109 │ (379876,15)   │ (a)=(-249294) │ (379876,15) │
│        110 │ (379873,11)   │ (a)=(-249293) │ (379873,11) │
│        111 │ (379873,13)   │ (a)=(-249293) │ (379873,13) │
│        112 │ (379873,14)   │ (a)=(-249293) │ (379873,14) │
│        113 │ (379873,15)   │ (a)=(-249293) │ (379873,15) │
│        114 │ (379873,16)   │ (a)=(-249293) │ (379873,16) │
│        115 │ (379873,17)   │ (a)=(-249293) │ (379873,17) │
│        116 │ (379873,18)   │ (a)=(-249293) │ (379873,18) │
│        117 │ (379873,19)   │ (a)=(-249293) │ (379873,19) │
│        118 │ (379873,20)   │ (a)=(-249293) │ (379873,20) │
│        119 │ (379873,21)   │ (a)=(-249293) │ (379873,21) │
│        120 │ (379874,1)    │ (a)=(-249293) │ (379874,1)  │
│        121 │ (379874,2)    │ (a)=(-249293) │ (379874,2)  │
│        122 │ (379874,3)    │ (a)=(-249293) │ (379874,3)  │
│        123 │ (379874,4)    │ (a)=(-249293) │ (379874,4)  │
│        124 │ (379874,5)    │ (a)=(-249293) │ (379874,5)  │
│        125 │ (379874,6)    │ (a)=(-249293) │ (379874,6)  │
│        126 │ (379874,7)    │ (a)=(-249293) │ (379874,7)  │
│        127 │ (379874,8)    │ (a)=(-249293) │ (379874,8)  │
│        128 │ (379874,9)    │ (a)=(-249293) │ (379874,9)  │
│        129 │ (379874,10)   │ (a)=(-249293) │ (379874,10) │
│        130 │ (379874,11)   │ (a)=(-249293) │ (379874,11) │
│        131 │ (379874,12)   │ (a)=(-249293) │ (379874,12) │
│        132 │ (379874,13)   │ (a)=(-249293) │ (379874,13) │
│        133 │ (379874,14)   │ (a)=(-249293) │ (379874,14) │
│        134 │ (379874,15)   │ (a)=(-249293) │ (379874,15) │
│        135 │ (379874,16)   │ (a)=(-249293) │ (379874,16) │
│        136 │ (379874,17)   │ (a)=(-249293) │ (379874,17) │
│        137 │ (379874,18)   │ (a)=(-249293) │ (379874,18) │
│        138 │ (379874,19)   │ (a)=(-249293) │ (379874,19) │
│        139 │ (379874,21)   │ (a)=(-249293) │ (379874,21) │
│        140 │ (379875,1)    │ (a)=(-249293) │ (379875,1)  │
│        141 │ (379875,4)    │ (a)=(-249293) │ (379875,4)  │
│        142 │ (379871,21)   │ (a)=(-249292) │ (379871,21) │
│        143 │ (379872,2)    │ (a)=(-249292) │ (379872,2)  │
│        144 │ (379872,3)    │ (a)=(-249292) │ (379872,3)  │
│        145 │ (379872,4)    │ (a)=(-249292) │ (379872,4)  │
│        146 │ (379872,5)    │ (a)=(-249292) │ (379872,5)  │
│        147 │ (379872,6)    │ (a)=(-249292) │ (379872,6)  │
│        148 │ (379872,7)    │ (a)=(-249292) │ (379872,7)  │
│        149 │ (379872,8)    │ (a)=(-249292) │ (379872,8)  │
│        150 │ (379872,9)    │ (a)=(-249292) │ (379872,9)  │
│        151 │ (379872,10)   │ (a)=(-249292) │ (379872,10) │
│        152 │ (379872,11)   │ (a)=(-249292) │ (379872,11) │
│        153 │ (379872,12)   │ (a)=(-249292) │ (379872,12) │
│        154 │ (379872,13)   │ (a)=(-249292) │ (379872,13) │
│        155 │ (379872,14)   │ (a)=(-249292) │ (379872,14) │
│        156 │ (379872,15)   │ (a)=(-249292) │ (379872,15) │
│        157 │ (379872,16)   │ (a)=(-249292) │ (379872,16) │
│        158 │ (379872,17)   │ (a)=(-249292) │ (379872,17) │
│        159 │ (379872,18)   │ (a)=(-249292) │ (379872,18) │
│        160 │ (379872,19)   │ (a)=(-249292) │ (379872,19) │
│        161 │ (379872,20)   │ (a)=(-249292) │ (379872,20) │
│        162 │ (379872,21)   │ (a)=(-249292) │ (379872,21) │
│        163 │ (379873,1)    │ (a)=(-249292) │ (379873,1)  │
│        164 │ (379873,2)    │ (a)=(-249292) │ (379873,2)  │
│        165 │ (379873,3)    │ (a)=(-249292) │ (379873,3)  │
│        166 │ (379873,4)    │ (a)=(-249292) │ (379873,4)  │
│        167 │ (379873,5)    │ (a)=(-249292) │ (379873,5)  │
│        168 │ (379873,6)    │ (a)=(-249292) │ (379873,6)  │
│        169 │ (379873,7)    │ (a)=(-249292) │ (379873,7)  │
│        170 │ (379873,8)    │ (a)=(-249292) │ (379873,8)  │
│        171 │ (379873,9)    │ (a)=(-249292) │ (379873,9)  │
│        172 │ (379873,10)   │ (a)=(-249292) │ (379873,10) │
│        173 │ (379873,12)   │ (a)=(-249292) │ (379873,12) │
│        174 │ (379870,9)    │ (a)=(-249291) │ (379870,9)  │
│        175 │ (379870,11)   │ (a)=(-249291) │ (379870,11) │
│        176 │ (379870,12)   │ (a)=(-249291) │ (379870,12) │
│        177 │ (379870,14)   │ (a)=(-249291) │ (379870,14) │
│        178 │ (379870,15)   │ (a)=(-249291) │ (379870,15) │
│        179 │ (379870,16)   │ (a)=(-249291) │ (379870,16) │
│        180 │ (379870,17)   │ (a)=(-249291) │ (379870,17) │
│        181 │ (379870,18)   │ (a)=(-249291) │ (379870,18) │
│        182 │ (379870,19)   │ (a)=(-249291) │ (379870,19) │
│        183 │ (379870,20)   │ (a)=(-249291) │ (379870,20) │
│        184 │ (379870,21)   │ (a)=(-249291) │ (379870,21) │
│        185 │ (379871,1)    │ (a)=(-249291) │ (379871,1)  │
│        186 │ (379871,2)    │ (a)=(-249291) │ (379871,2)  │
│        187 │ (379871,3)    │ (a)=(-249291) │ (379871,3)  │
│        188 │ (379871,4)    │ (a)=(-249291) │ (379871,4)  │
│        189 │ (379871,5)    │ (a)=(-249291) │ (379871,5)  │
│        190 │ (379871,6)    │ (a)=(-249291) │ (379871,6)  │
│        191 │ (379871,7)    │ (a)=(-249291) │ (379871,7)  │
│        192 │ (379871,8)    │ (a)=(-249291) │ (379871,8)  │
│        193 │ (379871,9)    │ (a)=(-249291) │ (379871,9)  │
│        194 │ (379871,10)   │ (a)=(-249291) │ (379871,10) │
│        195 │ (379871,11)   │ (a)=(-249291) │ (379871,11) │
│        196 │ (379871,12)   │ (a)=(-249291) │ (379871,12) │
│        197 │ (379871,13)   │ (a)=(-249291) │ (379871,13) │
│        198 │ (379871,14)   │ (a)=(-249291) │ (379871,14) │
│        199 │ (379871,15)   │ (a)=(-249291) │ (379871,15) │
│        200 │ (379871,16)   │ (a)=(-249291) │ (379871,16) │
│        201 │ (379871,17)   │ (a)=(-249291) │ (379871,17) │
│        202 │ (379871,18)   │ (a)=(-249291) │ (379871,18) │
│        203 │ (379871,19)   │ (a)=(-249291) │ (379871,19) │
│        204 │ (379871,20)   │ (a)=(-249291) │ (379871,20) │
│        205 │ (379872,1)    │ (a)=(-249291) │ (379872,1)  │
│        206 │ (379868,20)   │ (a)=(-249290) │ (379868,20) │
│        207 │ (379868,21)   │ (a)=(-249290) │ (379868,21) │
│        208 │ (379869,1)    │ (a)=(-249290) │ (379869,1)  │
│        209 │ (379869,3)    │ (a)=(-249290) │ (379869,3)  │
│        210 │ (379869,4)    │ (a)=(-249290) │ (379869,4)  │
│        211 │ (379869,5)    │ (a)=(-249290) │ (379869,5)  │
│        212 │ (379869,6)    │ (a)=(-249290) │ (379869,6)  │
│        213 │ (379869,7)    │ (a)=(-249290) │ (379869,7)  │
│        214 │ (379869,8)    │ (a)=(-249290) │ (379869,8)  │
│        215 │ (379869,9)    │ (a)=(-249290) │ (379869,9)  │
│        216 │ (379869,10)   │ (a)=(-249290) │ (379869,10) │
│        217 │ (379869,11)   │ (a)=(-249290) │ (379869,11) │
│        218 │ (379869,12)   │ (a)=(-249290) │ (379869,12) │
│        219 │ (379869,13)   │ (a)=(-249290) │ (379869,13) │
│        220 │ (379869,14)   │ (a)=(-249290) │ (379869,14) │
│        221 │ (379869,15)   │ (a)=(-249290) │ (379869,15) │
│        222 │ (379869,16)   │ (a)=(-249290) │ (379869,16) │
│        223 │ (379869,17)   │ (a)=(-249290) │ (379869,17) │
│        224 │ (379869,18)   │ (a)=(-249290) │ (379869,18) │
│        225 │ (379869,19)   │ (a)=(-249290) │ (379869,19) │
│        226 │ (379869,20)   │ (a)=(-249290) │ (379869,20) │
│        227 │ (379869,21)   │ (a)=(-249290) │ (379869,21) │
│        228 │ (379870,1)    │ (a)=(-249290) │ (379870,1)  │
│        229 │ (379870,2)    │ (a)=(-249290) │ (379870,2)  │
│        230 │ (379870,3)    │ (a)=(-249290) │ (379870,3)  │
│        231 │ (379870,4)    │ (a)=(-249290) │ (379870,4)  │
│        232 │ (379870,5)    │ (a)=(-249290) │ (379870,5)  │
│        233 │ (379870,6)    │ (a)=(-249290) │ (379870,6)  │
│        234 │ (379870,7)    │ (a)=(-249290) │ (379870,7)  │
│        235 │ (379870,8)    │ (a)=(-249290) │ (379870,8)  │
│        236 │ (379870,10)   │ (a)=(-249290) │ (379870,10) │
│        237 │ (379870,13)   │ (a)=(-249290) │ (379870,13) │
│        238 │ (379867,10)   │ (a)=(-249289) │ (379867,10) │
│        239 │ (379867,11)   │ (a)=(-249289) │ (379867,11) │
│        240 │ (379867,12)   │ (a)=(-249289) │ (379867,12) │
│        241 │ (379867,13)   │ (a)=(-249289) │ (379867,13) │
│        242 │ (379867,14)   │ (a)=(-249289) │ (379867,14) │
│        243 │ (379867,15)   │ (a)=(-249289) │ (379867,15) │
│        244 │ (379867,16)   │ (a)=(-249289) │ (379867,16) │
│        245 │ (379867,17)   │ (a)=(-249289) │ (379867,17) │
│        246 │ (379867,18)   │ (a)=(-249289) │ (379867,18) │
│        247 │ (379867,19)   │ (a)=(-249289) │ (379867,19) │
│        248 │ (379867,20)   │ (a)=(-249289) │ (379867,20) │
│        249 │ (379867,21)   │ (a)=(-249289) │ (379867,21) │
│        250 │ (379868,1)    │ (a)=(-249289) │ (379868,1)  │
│        251 │ (379868,2)    │ (a)=(-249289) │ (379868,2)  │
│        252 │ (379868,3)    │ (a)=(-249289) │ (379868,3)  │
│        253 │ (379868,4)    │ (a)=(-249289) │ (379868,4)  │
│        254 │ (379868,5)    │ (a)=(-249289) │ (379868,5)  │
│        255 │ (379868,6)    │ (a)=(-249289) │ (379868,6)  │
│        256 │ (379868,7)    │ (a)=(-249289) │ (379868,7)  │
│        257 │ (379868,8)    │ (a)=(-249289) │ (379868,8)  │
│        258 │ (379868,9)    │ (a)=(-249289) │ (379868,9)  │
│        259 │ (379868,10)   │ (a)=(-249289) │ (379868,10) │
│        260 │ (379868,11)   │ (a)=(-249289) │ (379868,11) │
│        261 │ (379868,12)   │ (a)=(-249289) │ (379868,12) │
│        262 │ (379868,13)   │ (a)=(-249289) │ (379868,13) │
│        263 │ (379868,14)   │ (a)=(-249289) │ (379868,14) │
│        264 │ (379868,15)   │ (a)=(-249289) │ (379868,15) │
│        265 │ (379868,16)   │ (a)=(-249289) │ (379868,16) │
│        266 │ (379868,17)   │ (a)=(-249289) │ (379868,17) │
│        267 │ (379868,18)   │ (a)=(-249289) │ (379868,18) │
│        268 │ (379868,19)   │ (a)=(-249289) │ (379868,19) │
│        269 │ (379869,2)    │ (a)=(-249289) │ (379869,2)  │
│        270 │ (379865,19)   │ (a)=(-249288) │ (379865,19) │
│        271 │ (379865,20)   │ (a)=(-249288) │ (379865,20) │
│        272 │ (379865,21)   │ (a)=(-249288) │ (379865,21) │
│        273 │ (379866,2)    │ (a)=(-249288) │ (379866,2)  │
│        274 │ (379866,3)    │ (a)=(-249288) │ (379866,3)  │
│        275 │ (379866,4)    │ (a)=(-249288) │ (379866,4)  │
│        276 │ (379866,5)    │ (a)=(-249288) │ (379866,5)  │
│        277 │ (379866,6)    │ (a)=(-249288) │ (379866,6)  │
│        278 │ (379866,7)    │ (a)=(-249288) │ (379866,7)  │
│        279 │ (379866,8)    │ (a)=(-249288) │ (379866,8)  │
│        280 │ (379866,9)    │ (a)=(-249288) │ (379866,9)  │
│        281 │ (379866,10)   │ (a)=(-249288) │ (379866,10) │
│        282 │ (379866,11)   │ (a)=(-249288) │ (379866,11) │
│        283 │ (379866,12)   │ (a)=(-249288) │ (379866,12) │
│        284 │ (379866,13)   │ (a)=(-249288) │ (379866,13) │
│        285 │ (379866,14)   │ (a)=(-249288) │ (379866,14) │
│        286 │ (379866,15)   │ (a)=(-249288) │ (379866,15) │
│        287 │ (379866,16)   │ (a)=(-249288) │ (379866,16) │
│        288 │ (379866,17)   │ (a)=(-249288) │ (379866,17) │
│        289 │ (379866,18)   │ (a)=(-249288) │ (379866,18) │
│        290 │ (379866,19)   │ (a)=(-249288) │ (379866,19) │
│        291 │ (379866,20)   │ (a)=(-249288) │ (379866,20) │
│        292 │ (379866,21)   │ (a)=(-249288) │ (379866,21) │
│        293 │ (379867,1)    │ (a)=(-249288) │ (379867,1)  │
│        294 │ (379867,2)    │ (a)=(-249288) │ (379867,2)  │
│        295 │ (379867,3)    │ (a)=(-249288) │ (379867,3)  │
│        296 │ (379867,4)    │ (a)=(-249288) │ (379867,4)  │
│        297 │ (379867,5)    │ (a)=(-249288) │ (379867,5)  │
│        298 │ (379867,6)    │ (a)=(-249288) │ (379867,6)  │
│        299 │ (379867,7)    │ (a)=(-249288) │ (379867,7)  │
│        300 │ (379867,8)    │ (a)=(-249288) │ (379867,8)  │
│        301 │ (379867,9)    │ (a)=(-249288) │ (379867,9)  │
│        302 │ (379864,9)    │ (a)=(-249287) │ (379864,9)  │
│        303 │ (379864,10)   │ (a)=(-249287) │ (379864,10) │
│        304 │ (379864,11)   │ (a)=(-249287) │ (379864,11) │
│        305 │ (379864,12)   │ (a)=(-249287) │ (379864,12) │
│        306 │ (379864,13)   │ (a)=(-249287) │ (379864,13) │
│        307 │ (379864,14)   │ (a)=(-249287) │ (379864,14) │
│        308 │ (379864,15)   │ (a)=(-249287) │ (379864,15) │
│        309 │ (379864,16)   │ (a)=(-249287) │ (379864,16) │
│        310 │ (379864,17)   │ (a)=(-249287) │ (379864,17) │
│        311 │ (379864,18)   │ (a)=(-249287) │ (379864,18) │
│        312 │ (379864,19)   │ (a)=(-249287) │ (379864,19) │
│        313 │ (379864,20)   │ (a)=(-249287) │ (379864,20) │
│        314 │ (379864,21)   │ (a)=(-249287) │ (379864,21) │
│        315 │ (379865,1)    │ (a)=(-249287) │ (379865,1)  │
│        316 │ (379865,2)    │ (a)=(-249287) │ (379865,2)  │
│        317 │ (379865,3)    │ (a)=(-249287) │ (379865,3)  │
│        318 │ (379865,4)    │ (a)=(-249287) │ (379865,4)  │
│        319 │ (379865,5)    │ (a)=(-249287) │ (379865,5)  │
│        320 │ (379865,6)    │ (a)=(-249287) │ (379865,6)  │
│        321 │ (379865,7)    │ (a)=(-249287) │ (379865,7)  │
│        322 │ (379865,8)    │ (a)=(-249287) │ (379865,8)  │
│        323 │ (379865,9)    │ (a)=(-249287) │ (379865,9)  │
│        324 │ (379865,10)   │ (a)=(-249287) │ (379865,10) │
│        325 │ (379865,11)   │ (a)=(-249287) │ (379865,11) │
│        326 │ (379865,12)   │ (a)=(-249287) │ (379865,12) │
│        327 │ (379865,13)   │ (a)=(-249287) │ (379865,13) │
│        328 │ (379865,14)   │ (a)=(-249287) │ (379865,14) │
│        329 │ (379865,15)   │ (a)=(-249287) │ (379865,15) │
│        330 │ (379865,16)   │ (a)=(-249287) │ (379865,16) │
│        331 │ (379865,17)   │ (a)=(-249287) │ (379865,17) │
│        332 │ (379865,18)   │ (a)=(-249287) │ (379865,18) │
│        333 │ (379866,1)    │ (a)=(-249287) │ (379866,1)  │
│        334 │ (379862,16)   │ (a)=(-249286) │ (379862,16) │
│        335 │ (379862,17)   │ (a)=(-249286) │ (379862,17) │
│        336 │ (379862,20)   │ (a)=(-249286) │ (379862,20) │
│        337 │ (379863,1)    │ (a)=(-249286) │ (379863,1)  │
│        338 │ (379863,2)    │ (a)=(-249286) │ (379863,2)  │
│        339 │ (379863,3)    │ (a)=(-249286) │ (379863,3)  │
│        340 │ (379863,4)    │ (a)=(-249286) │ (379863,4)  │
│        341 │ (379863,5)    │ (a)=(-249286) │ (379863,5)  │
│        342 │ (379863,6)    │ (a)=(-249286) │ (379863,6)  │
│        343 │ (379863,7)    │ (a)=(-249286) │ (379863,7)  │
│        344 │ (379863,8)    │ (a)=(-249286) │ (379863,8)  │
│        345 │ (379863,9)    │ (a)=(-249286) │ (379863,9)  │
│        346 │ (379863,10)   │ (a)=(-249286) │ (379863,10) │
│        347 │ (379863,11)   │ (a)=(-249286) │ (379863,11) │
│        348 │ (379863,12)   │ (a)=(-249286) │ (379863,12) │
│        349 │ (379863,13)   │ (a)=(-249286) │ (379863,13) │
│        350 │ (379863,14)   │ (a)=(-249286) │ (379863,14) │
│        351 │ (379863,15)   │ (a)=(-249286) │ (379863,15) │
│        352 │ (379863,16)   │ (a)=(-249286) │ (379863,16) │
│        353 │ (379863,17)   │ (a)=(-249286) │ (379863,17) │
│        354 │ (379863,18)   │ (a)=(-249286) │ (379863,18) │
│        355 │ (379863,19)   │ (a)=(-249286) │ (379863,19) │
│        356 │ (379863,20)   │ (a)=(-249286) │ (379863,20) │
│        357 │ (379863,21)   │ (a)=(-249286) │ (379863,21) │
│        358 │ (379864,1)    │ (a)=(-249286) │ (379864,1)  │
│        359 │ (379864,2)    │ (a)=(-249286) │ (379864,2)  │
│        360 │ (379864,3)    │ (a)=(-249286) │ (379864,3)  │
│        361 │ (379864,4)    │ (a)=(-249286) │ (379864,4)  │
│        362 │ (379864,5)    │ (a)=(-249286) │ (379864,5)  │
│        363 │ (379864,6)    │ (a)=(-249286) │ (379864,6)  │
│        364 │ (379864,7)    │ (a)=(-249286) │ (379864,7)  │
│        365 │ (379864,8)    │ (a)=(-249286) │ (379864,8)  │
│        366 │ (379861,6)    │ (a)=(-249285) │ (379861,6)  │
│        367 │ (379861,7)    │ (a)=(-249285) │ (379861,7)  │
└────────────┴───────────────┴───────────────┴─────────────┘
(367 rows)

And here's what block 5555 from "idx" looks like (note that the fact that I'm
using the same index block number as before has no particular significance):

────────────┬──────────────┬─────────────┬────────────┐
│ itemoffset │     ctid     │    data     │    htid    │
├────────────┼──────────────┼─────────────┼────────────┤
│          1 │ (96327,4097) │ (a)=(63216) │ (96327,15) │
│          2 │ (96310,7)    │ (a)=(63204) │ (96310,7)  │
│          3 │ (96310,8)    │ (a)=(63204) │ (96310,8)  │
│          4 │ (96310,9)    │ (a)=(63204) │ (96310,9)  │
│          5 │ (96310,10)   │ (a)=(63204) │ (96310,10) │
│          6 │ (96310,11)   │ (a)=(63204) │ (96310,11) │
│          7 │ (96310,12)   │ (a)=(63204) │ (96310,12) │
│          8 │ (96310,13)   │ (a)=(63204) │ (96310,13) │
│          9 │ (96310,14)   │ (a)=(63204) │ (96310,14) │
│         10 │ (96310,15)   │ (a)=(63204) │ (96310,15) │
│         11 │ (96310,16)   │ (a)=(63204) │ (96310,16) │
│         12 │ (96310,17)   │ (a)=(63204) │ (96310,17) │
│         13 │ (96310,18)   │ (a)=(63204) │ (96310,18) │
│         14 │ (96310,19)   │ (a)=(63205) │ (96310,19) │
│         15 │ (96310,20)   │ (a)=(63205) │ (96310,20) │
│         16 │ (96310,21)   │ (a)=(63205) │ (96310,21) │
│         17 │ (96311,1)    │ (a)=(63205) │ (96311,1)  │
│         18 │ (96311,2)    │ (a)=(63205) │ (96311,2)  │
│         19 │ (96311,3)    │ (a)=(63205) │ (96311,3)  │
│         20 │ (96311,4)    │ (a)=(63205) │ (96311,4)  │
│         21 │ (96311,5)    │ (a)=(63205) │ (96311,5)  │
│         22 │ (96311,6)    │ (a)=(63205) │ (96311,6)  │
│         23 │ (96311,7)    │ (a)=(63205) │ (96311,7)  │
│         24 │ (96311,8)    │ (a)=(63205) │ (96311,8)  │
│         25 │ (96311,9)    │ (a)=(63205) │ (96311,9)  │
│         26 │ (96311,10)   │ (a)=(63205) │ (96311,10) │
│         27 │ (96311,11)   │ (a)=(63205) │ (96311,11) │
│         28 │ (96311,12)   │ (a)=(63205) │ (96311,12) │
│         29 │ (96311,13)   │ (a)=(63205) │ (96311,13) │
│         30 │ (96311,14)   │ (a)=(63205) │ (96311,14) │
│         31 │ (96311,15)   │ (a)=(63205) │ (96311,15) │
│         32 │ (96311,16)   │ (a)=(63205) │ (96311,16) │
│         33 │ (96311,17)   │ (a)=(63205) │ (96311,17) │
│         34 │ (96311,18)   │ (a)=(63205) │ (96311,18) │
│         35 │ (96311,19)   │ (a)=(63205) │ (96311,19) │
│         36 │ (96311,20)   │ (a)=(63205) │ (96311,20) │
│         37 │ (96311,21)   │ (a)=(63205) │ (96311,21) │
│         38 │ (96312,1)    │ (a)=(63205) │ (96312,1)  │
│         39 │ (96312,2)    │ (a)=(63205) │ (96312,2)  │
│         40 │ (96312,3)    │ (a)=(63205) │ (96312,3)  │
│         41 │ (96312,4)    │ (a)=(63205) │ (96312,4)  │
│         42 │ (96312,5)    │ (a)=(63205) │ (96312,5)  │
│         43 │ (96312,6)    │ (a)=(63205) │ (96312,6)  │
│         44 │ (96312,7)    │ (a)=(63205) │ (96312,7)  │
│         45 │ (96312,9)    │ (a)=(63205) │ (96312,9)  │
│         46 │ (96312,8)    │ (a)=(63206) │ (96312,8)  │
│         47 │ (96312,10)   │ (a)=(63206) │ (96312,10) │
│         48 │ (96312,11)   │ (a)=(63206) │ (96312,11) │
│         49 │ (96312,12)   │ (a)=(63206) │ (96312,12) │
│         50 │ (96312,13)   │ (a)=(63206) │ (96312,13) │
│         51 │ (96312,14)   │ (a)=(63206) │ (96312,14) │
│         52 │ (96312,15)   │ (a)=(63206) │ (96312,15) │
│         53 │ (96312,16)   │ (a)=(63206) │ (96312,16) │
│         54 │ (96312,17)   │ (a)=(63206) │ (96312,17) │
│         55 │ (96312,18)   │ (a)=(63206) │ (96312,18) │
│         56 │ (96312,19)   │ (a)=(63206) │ (96312,19) │
│         57 │ (96312,20)   │ (a)=(63206) │ (96312,20) │
│         58 │ (96312,21)   │ (a)=(63206) │ (96312,21) │
│         59 │ (96313,1)    │ (a)=(63206) │ (96313,1)  │
│         60 │ (96313,2)    │ (a)=(63206) │ (96313,2)  │
│         61 │ (96313,3)    │ (a)=(63206) │ (96313,3)  │
│         62 │ (96313,4)    │ (a)=(63206) │ (96313,4)  │
│         63 │ (96313,5)    │ (a)=(63206) │ (96313,5)  │
│         64 │ (96313,6)    │ (a)=(63206) │ (96313,6)  │
│         65 │ (96313,7)    │ (a)=(63206) │ (96313,7)  │
│         66 │ (96313,8)    │ (a)=(63206) │ (96313,8)  │
│         67 │ (96313,9)    │ (a)=(63206) │ (96313,9)  │
│         68 │ (96313,10)   │ (a)=(63206) │ (96313,10) │
│         69 │ (96313,11)   │ (a)=(63206) │ (96313,11) │
│         70 │ (96313,12)   │ (a)=(63206) │ (96313,12) │
│         71 │ (96313,13)   │ (a)=(63206) │ (96313,13) │
│         72 │ (96313,14)   │ (a)=(63206) │ (96313,14) │
│         73 │ (96313,15)   │ (a)=(63206) │ (96313,15) │
│         74 │ (96313,16)   │ (a)=(63206) │ (96313,16) │
│         75 │ (96313,17)   │ (a)=(63206) │ (96313,17) │
│         76 │ (96313,18)   │ (a)=(63206) │ (96313,18) │
│         77 │ (96313,20)   │ (a)=(63206) │ (96313,20) │
│         78 │ (96313,19)   │ (a)=(63207) │ (96313,19) │
│         79 │ (96313,21)   │ (a)=(63207) │ (96313,21) │
│         80 │ (96314,1)    │ (a)=(63207) │ (96314,1)  │
│         81 │ (96314,2)    │ (a)=(63207) │ (96314,2)  │
│         82 │ (96314,3)    │ (a)=(63207) │ (96314,3)  │
│         83 │ (96314,4)    │ (a)=(63207) │ (96314,4)  │
│         84 │ (96314,5)    │ (a)=(63207) │ (96314,5)  │
│         85 │ (96314,6)    │ (a)=(63207) │ (96314,6)  │
│         86 │ (96314,7)    │ (a)=(63207) │ (96314,7)  │
│         87 │ (96314,8)    │ (a)=(63207) │ (96314,8)  │
│         88 │ (96314,9)    │ (a)=(63207) │ (96314,9)  │
│         89 │ (96314,10)   │ (a)=(63207) │ (96314,10) │
│         90 │ (96314,11)   │ (a)=(63207) │ (96314,11) │
│         91 │ (96314,12)   │ (a)=(63207) │ (96314,12) │
│         92 │ (96314,13)   │ (a)=(63207) │ (96314,13) │
│         93 │ (96314,14)   │ (a)=(63207) │ (96314,14) │
│         94 │ (96314,15)   │ (a)=(63207) │ (96314,15) │
│         95 │ (96314,16)   │ (a)=(63207) │ (96314,16) │
│         96 │ (96314,17)   │ (a)=(63207) │ (96314,17) │
│         97 │ (96314,18)   │ (a)=(63207) │ (96314,18) │
│         98 │ (96314,19)   │ (a)=(63207) │ (96314,19) │
│         99 │ (96314,20)   │ (a)=(63207) │ (96314,20) │
│        100 │ (96314,21)   │ (a)=(63207) │ (96314,21) │
│        101 │ (96315,1)    │ (a)=(63207) │ (96315,1)  │
│        102 │ (96315,2)    │ (a)=(63207) │ (96315,2)  │
│        103 │ (96315,3)    │ (a)=(63207) │ (96315,3)  │
│        104 │ (96315,4)    │ (a)=(63207) │ (96315,4)  │
│        105 │ (96315,5)    │ (a)=(63207) │ (96315,5)  │
│        106 │ (96315,6)    │ (a)=(63207) │ (96315,6)  │
│        107 │ (96315,7)    │ (a)=(63207) │ (96315,7)  │
│        108 │ (96315,8)    │ (a)=(63207) │ (96315,8)  │
│        109 │ (96315,12)   │ (a)=(63207) │ (96315,12) │
│        110 │ (96315,9)    │ (a)=(63208) │ (96315,9)  │
│        111 │ (96315,10)   │ (a)=(63208) │ (96315,10) │
│        112 │ (96315,11)   │ (a)=(63208) │ (96315,11) │
│        113 │ (96315,13)   │ (a)=(63208) │ (96315,13) │
│        114 │ (96315,14)   │ (a)=(63208) │ (96315,14) │
│        115 │ (96315,15)   │ (a)=(63208) │ (96315,15) │
│        116 │ (96315,16)   │ (a)=(63208) │ (96315,16) │
│        117 │ (96315,17)   │ (a)=(63208) │ (96315,17) │
│        118 │ (96315,18)   │ (a)=(63208) │ (96315,18) │
│        119 │ (96315,19)   │ (a)=(63208) │ (96315,19) │
│        120 │ (96315,20)   │ (a)=(63208) │ (96315,20) │
│        121 │ (96315,21)   │ (a)=(63208) │ (96315,21) │
│        122 │ (96316,1)    │ (a)=(63208) │ (96316,1)  │
│        123 │ (96316,2)    │ (a)=(63208) │ (96316,2)  │
│        124 │ (96316,3)    │ (a)=(63208) │ (96316,3)  │
│        125 │ (96316,4)    │ (a)=(63208) │ (96316,4)  │
│        126 │ (96316,5)    │ (a)=(63208) │ (96316,5)  │
│        127 │ (96316,6)    │ (a)=(63208) │ (96316,6)  │
│        128 │ (96316,7)    │ (a)=(63208) │ (96316,7)  │
│        129 │ (96316,8)    │ (a)=(63208) │ (96316,8)  │
│        130 │ (96316,9)    │ (a)=(63208) │ (96316,9)  │
│        131 │ (96316,10)   │ (a)=(63208) │ (96316,10) │
│        132 │ (96316,11)   │ (a)=(63208) │ (96316,11) │
│        133 │ (96316,12)   │ (a)=(63208) │ (96316,12) │
│        134 │ (96316,13)   │ (a)=(63208) │ (96316,13) │
│        135 │ (96316,14)   │ (a)=(63208) │ (96316,14) │
│        136 │ (96316,15)   │ (a)=(63208) │ (96316,15) │
│        137 │ (96316,16)   │ (a)=(63208) │ (96316,16) │
│        138 │ (96316,17)   │ (a)=(63208) │ (96316,17) │
│        139 │ (96316,18)   │ (a)=(63208) │ (96316,18) │
│        140 │ (96316,19)   │ (a)=(63208) │ (96316,19) │
│        141 │ (96316,20)   │ (a)=(63208) │ (96316,20) │
│        142 │ (96316,21)   │ (a)=(63209) │ (96316,21) │
│        143 │ (96317,1)    │ (a)=(63209) │ (96317,1)  │
│        144 │ (96317,2)    │ (a)=(63209) │ (96317,2)  │
│        145 │ (96317,3)    │ (a)=(63209) │ (96317,3)  │
│        146 │ (96317,4)    │ (a)=(63209) │ (96317,4)  │
│        147 │ (96317,5)    │ (a)=(63209) │ (96317,5)  │
│        148 │ (96317,6)    │ (a)=(63209) │ (96317,6)  │
│        149 │ (96317,7)    │ (a)=(63209) │ (96317,7)  │
│        150 │ (96317,8)    │ (a)=(63209) │ (96317,8)  │
│        151 │ (96317,9)    │ (a)=(63209) │ (96317,9)  │
│        152 │ (96317,10)   │ (a)=(63209) │ (96317,10) │
│        153 │ (96317,11)   │ (a)=(63209) │ (96317,11) │
│        154 │ (96317,12)   │ (a)=(63209) │ (96317,12) │
│        155 │ (96317,13)   │ (a)=(63209) │ (96317,13) │
│        156 │ (96317,14)   │ (a)=(63209) │ (96317,14) │
│        157 │ (96317,15)   │ (a)=(63209) │ (96317,15) │
│        158 │ (96317,16)   │ (a)=(63209) │ (96317,16) │
│        159 │ (96317,17)   │ (a)=(63209) │ (96317,17) │
│        160 │ (96317,18)   │ (a)=(63209) │ (96317,18) │
│        161 │ (96317,19)   │ (a)=(63209) │ (96317,19) │
│        162 │ (96317,20)   │ (a)=(63209) │ (96317,20) │
│        163 │ (96317,21)   │ (a)=(63209) │ (96317,21) │
│        164 │ (96318,1)    │ (a)=(63209) │ (96318,1)  │
│        165 │ (96318,2)    │ (a)=(63209) │ (96318,2)  │
│        166 │ (96318,3)    │ (a)=(63209) │ (96318,3)  │
│        167 │ (96318,4)    │ (a)=(63209) │ (96318,4)  │
│        168 │ (96318,5)    │ (a)=(63209) │ (96318,5)  │
│        169 │ (96318,6)    │ (a)=(63209) │ (96318,6)  │
│        170 │ (96318,7)    │ (a)=(63209) │ (96318,7)  │
│        171 │ (96318,8)    │ (a)=(63209) │ (96318,8)  │
│        172 │ (96318,9)    │ (a)=(63209) │ (96318,9)  │
│        173 │ (96318,10)   │ (a)=(63209) │ (96318,10) │
│        174 │ (96318,11)   │ (a)=(63210) │ (96318,11) │
│        175 │ (96318,12)   │ (a)=(63210) │ (96318,12) │
│        176 │ (96318,13)   │ (a)=(63210) │ (96318,13) │
│        177 │ (96318,14)   │ (a)=(63210) │ (96318,14) │
│        178 │ (96318,15)   │ (a)=(63210) │ (96318,15) │
│        179 │ (96318,16)   │ (a)=(63210) │ (96318,16) │
│        180 │ (96318,17)   │ (a)=(63210) │ (96318,17) │
│        181 │ (96318,18)   │ (a)=(63210) │ (96318,18) │
│        182 │ (96318,19)   │ (a)=(63210) │ (96318,19) │
│        183 │ (96318,20)   │ (a)=(63210) │ (96318,20) │
│        184 │ (96318,21)   │ (a)=(63210) │ (96318,21) │
│        185 │ (96319,1)    │ (a)=(63210) │ (96319,1)  │
│        186 │ (96319,2)    │ (a)=(63210) │ (96319,2)  │
│        187 │ (96319,3)    │ (a)=(63210) │ (96319,3)  │
│        188 │ (96319,4)    │ (a)=(63210) │ (96319,4)  │
│        189 │ (96319,5)    │ (a)=(63210) │ (96319,5)  │
│        190 │ (96319,6)    │ (a)=(63210) │ (96319,6)  │
│        191 │ (96319,7)    │ (a)=(63210) │ (96319,7)  │
│        192 │ (96319,8)    │ (a)=(63210) │ (96319,8)  │
│        193 │ (96319,9)    │ (a)=(63210) │ (96319,9)  │
│        194 │ (96319,10)   │ (a)=(63210) │ (96319,10) │
│        195 │ (96319,11)   │ (a)=(63210) │ (96319,11) │
│        196 │ (96319,12)   │ (a)=(63210) │ (96319,12) │
│        197 │ (96319,13)   │ (a)=(63210) │ (96319,13) │
│        198 │ (96319,14)   │ (a)=(63210) │ (96319,14) │
│        199 │ (96319,15)   │ (a)=(63210) │ (96319,15) │
│        200 │ (96319,16)   │ (a)=(63210) │ (96319,16) │
│        201 │ (96319,17)   │ (a)=(63210) │ (96319,17) │
│        202 │ (96319,18)   │ (a)=(63210) │ (96319,18) │
│        203 │ (96319,19)   │ (a)=(63210) │ (96319,19) │
│        204 │ (96319,20)   │ (a)=(63210) │ (96319,20) │
│        205 │ (96320,1)    │ (a)=(63210) │ (96320,1)  │
│        206 │ (96319,21)   │ (a)=(63211) │ (96319,21) │
│        207 │ (96320,2)    │ (a)=(63211) │ (96320,2)  │
│        208 │ (96320,3)    │ (a)=(63211) │ (96320,3)  │
│        209 │ (96320,4)    │ (a)=(63211) │ (96320,4)  │
│        210 │ (96320,5)    │ (a)=(63211) │ (96320,5)  │
│        211 │ (96320,6)    │ (a)=(63211) │ (96320,6)  │
│        212 │ (96320,7)    │ (a)=(63211) │ (96320,7)  │
│        213 │ (96320,8)    │ (a)=(63211) │ (96320,8)  │
│        214 │ (96320,9)    │ (a)=(63211) │ (96320,9)  │
│        215 │ (96320,10)   │ (a)=(63211) │ (96320,10) │
│        216 │ (96320,11)   │ (a)=(63211) │ (96320,11) │
│        217 │ (96320,12)   │ (a)=(63211) │ (96320,12) │
│        218 │ (96320,13)   │ (a)=(63211) │ (96320,13) │
│        219 │ (96320,14)   │ (a)=(63211) │ (96320,14) │
│        220 │ (96320,15)   │ (a)=(63211) │ (96320,15) │
│        221 │ (96320,16)   │ (a)=(63211) │ (96320,16) │
│        222 │ (96320,17)   │ (a)=(63211) │ (96320,17) │
│        223 │ (96320,18)   │ (a)=(63211) │ (96320,18) │
│        224 │ (96320,19)   │ (a)=(63211) │ (96320,19) │
│        225 │ (96320,20)   │ (a)=(63211) │ (96320,20) │
│        226 │ (96320,21)   │ (a)=(63211) │ (96320,21) │
│        227 │ (96321,1)    │ (a)=(63211) │ (96321,1)  │
│        228 │ (96321,2)    │ (a)=(63211) │ (96321,2)  │
│        229 │ (96321,3)    │ (a)=(63211) │ (96321,3)  │
│        230 │ (96321,4)    │ (a)=(63211) │ (96321,4)  │
│        231 │ (96321,5)    │ (a)=(63211) │ (96321,5)  │
│        232 │ (96321,6)    │ (a)=(63211) │ (96321,6)  │
│        233 │ (96321,7)    │ (a)=(63211) │ (96321,7)  │
│        234 │ (96321,8)    │ (a)=(63211) │ (96321,8)  │
│        235 │ (96321,9)    │ (a)=(63211) │ (96321,9)  │
│        236 │ (96321,10)   │ (a)=(63211) │ (96321,10) │
│        237 │ (96321,11)   │ (a)=(63211) │ (96321,11) │
│        238 │ (96321,12)   │ (a)=(63212) │ (96321,12) │
│        239 │ (96321,13)   │ (a)=(63212) │ (96321,13) │
│        240 │ (96321,14)   │ (a)=(63212) │ (96321,14) │
│        241 │ (96321,15)   │ (a)=(63212) │ (96321,15) │
│        242 │ (96321,16)   │ (a)=(63212) │ (96321,16) │
│        243 │ (96321,17)   │ (a)=(63212) │ (96321,17) │
│        244 │ (96321,18)   │ (a)=(63212) │ (96321,18) │
│        245 │ (96321,19)   │ (a)=(63212) │ (96321,19) │
│        246 │ (96321,20)   │ (a)=(63212) │ (96321,20) │
│        247 │ (96321,21)   │ (a)=(63212) │ (96321,21) │
│        248 │ (96322,1)    │ (a)=(63212) │ (96322,1)  │
│        249 │ (96322,2)    │ (a)=(63212) │ (96322,2)  │
│        250 │ (96322,3)    │ (a)=(63212) │ (96322,3)  │
│        251 │ (96322,4)    │ (a)=(63212) │ (96322,4)  │
│        252 │ (96322,5)    │ (a)=(63212) │ (96322,5)  │
│        253 │ (96322,6)    │ (a)=(63212) │ (96322,6)  │
│        254 │ (96322,7)    │ (a)=(63212) │ (96322,7)  │
│        255 │ (96322,8)    │ (a)=(63212) │ (96322,8)  │
│        256 │ (96322,9)    │ (a)=(63212) │ (96322,9)  │
│        257 │ (96322,10)   │ (a)=(63212) │ (96322,10) │
│        258 │ (96322,11)   │ (a)=(63212) │ (96322,11) │
│        259 │ (96322,12)   │ (a)=(63212) │ (96322,12) │
│        260 │ (96322,13)   │ (a)=(63212) │ (96322,13) │
│        261 │ (96322,14)   │ (a)=(63212) │ (96322,14) │
│        262 │ (96322,15)   │ (a)=(63212) │ (96322,15) │
│        263 │ (96322,16)   │ (a)=(63212) │ (96322,16) │
│        264 │ (96322,17)   │ (a)=(63212) │ (96322,17) │
│        265 │ (96322,18)   │ (a)=(63212) │ (96322,18) │
│        266 │ (96322,19)   │ (a)=(63212) │ (96322,19) │
│        267 │ (96322,20)   │ (a)=(63212) │ (96322,20) │
│        268 │ (96322,21)   │ (a)=(63212) │ (96322,21) │
│        269 │ (96323,3)    │ (a)=(63212) │ (96323,3)  │
│        270 │ (96323,1)    │ (a)=(63213) │ (96323,1)  │
│        271 │ (96323,2)    │ (a)=(63213) │ (96323,2)  │
│        272 │ (96323,4)    │ (a)=(63213) │ (96323,4)  │
│        273 │ (96323,5)    │ (a)=(63213) │ (96323,5)  │
│        274 │ (96323,6)    │ (a)=(63213) │ (96323,6)  │
│        275 │ (96323,7)    │ (a)=(63213) │ (96323,7)  │
│        276 │ (96323,8)    │ (a)=(63213) │ (96323,8)  │
│        277 │ (96323,9)    │ (a)=(63213) │ (96323,9)  │
│        278 │ (96323,10)   │ (a)=(63213) │ (96323,10) │
│        279 │ (96323,11)   │ (a)=(63213) │ (96323,11) │
│        280 │ (96323,12)   │ (a)=(63213) │ (96323,12) │
│        281 │ (96323,13)   │ (a)=(63213) │ (96323,13) │
│        282 │ (96323,14)   │ (a)=(63213) │ (96323,14) │
│        283 │ (96323,15)   │ (a)=(63213) │ (96323,15) │
│        284 │ (96323,16)   │ (a)=(63213) │ (96323,16) │
│        285 │ (96323,17)   │ (a)=(63213) │ (96323,17) │
│        286 │ (96323,18)   │ (a)=(63213) │ (96323,18) │
│        287 │ (96323,19)   │ (a)=(63213) │ (96323,19) │
│        288 │ (96323,20)   │ (a)=(63213) │ (96323,20) │
│        289 │ (96323,21)   │ (a)=(63213) │ (96323,21) │
│        290 │ (96324,1)    │ (a)=(63213) │ (96324,1)  │
│        291 │ (96324,2)    │ (a)=(63213) │ (96324,2)  │
│        292 │ (96324,3)    │ (a)=(63213) │ (96324,3)  │
│        293 │ (96324,4)    │ (a)=(63213) │ (96324,4)  │
│        294 │ (96324,5)    │ (a)=(63213) │ (96324,5)  │
│        295 │ (96324,6)    │ (a)=(63213) │ (96324,6)  │
│        296 │ (96324,7)    │ (a)=(63213) │ (96324,7)  │
│        297 │ (96324,8)    │ (a)=(63213) │ (96324,8)  │
│        298 │ (96324,9)    │ (a)=(63213) │ (96324,9)  │
│        299 │ (96324,11)   │ (a)=(63213) │ (96324,11) │
│        300 │ (96324,12)   │ (a)=(63213) │ (96324,12) │
│        301 │ (96324,13)   │ (a)=(63213) │ (96324,13) │
│        302 │ (96324,10)   │ (a)=(63214) │ (96324,10) │
│        303 │ (96324,14)   │ (a)=(63214) │ (96324,14) │
│        304 │ (96324,15)   │ (a)=(63214) │ (96324,15) │
│        305 │ (96324,16)   │ (a)=(63214) │ (96324,16) │
│        306 │ (96324,17)   │ (a)=(63214) │ (96324,17) │
│        307 │ (96324,18)   │ (a)=(63214) │ (96324,18) │
│        308 │ (96324,19)   │ (a)=(63214) │ (96324,19) │
│        309 │ (96324,20)   │ (a)=(63214) │ (96324,20) │
│        310 │ (96324,21)   │ (a)=(63214) │ (96324,21) │
│        311 │ (96325,1)    │ (a)=(63214) │ (96325,1)  │
│        312 │ (96325,2)    │ (a)=(63214) │ (96325,2)  │
│        313 │ (96325,3)    │ (a)=(63214) │ (96325,3)  │
│        314 │ (96325,4)    │ (a)=(63214) │ (96325,4)  │
│        315 │ (96325,5)    │ (a)=(63214) │ (96325,5)  │
│        316 │ (96325,6)    │ (a)=(63214) │ (96325,6)  │
│        317 │ (96325,7)    │ (a)=(63214) │ (96325,7)  │
│        318 │ (96325,8)    │ (a)=(63214) │ (96325,8)  │
│        319 │ (96325,9)    │ (a)=(63214) │ (96325,9)  │
│        320 │ (96325,10)   │ (a)=(63214) │ (96325,10) │
│        321 │ (96325,11)   │ (a)=(63214) │ (96325,11) │
│        322 │ (96325,12)   │ (a)=(63214) │ (96325,12) │
│        323 │ (96325,13)   │ (a)=(63214) │ (96325,13) │
│        324 │ (96325,14)   │ (a)=(63214) │ (96325,14) │
│        325 │ (96325,15)   │ (a)=(63214) │ (96325,15) │
│        326 │ (96325,16)   │ (a)=(63214) │ (96325,16) │
│        327 │ (96325,17)   │ (a)=(63214) │ (96325,17) │
│        328 │ (96325,18)   │ (a)=(63214) │ (96325,18) │
│        329 │ (96325,19)   │ (a)=(63214) │ (96325,19) │
│        330 │ (96325,20)   │ (a)=(63214) │ (96325,20) │
│        331 │ (96325,21)   │ (a)=(63214) │ (96325,21) │
│        332 │ (96326,1)    │ (a)=(63214) │ (96326,1)  │
│        333 │ (96326,3)    │ (a)=(63214) │ (96326,3)  │
│        334 │ (96326,2)    │ (a)=(63215) │ (96326,2)  │
│        335 │ (96326,4)    │ (a)=(63215) │ (96326,4)  │
│        336 │ (96326,5)    │ (a)=(63215) │ (96326,5)  │
│        337 │ (96326,6)    │ (a)=(63215) │ (96326,6)  │
│        338 │ (96326,7)    │ (a)=(63215) │ (96326,7)  │
│        339 │ (96326,8)    │ (a)=(63215) │ (96326,8)  │
│        340 │ (96326,9)    │ (a)=(63215) │ (96326,9)  │
│        341 │ (96326,10)   │ (a)=(63215) │ (96326,10) │
│        342 │ (96326,11)   │ (a)=(63215) │ (96326,11) │
│        343 │ (96326,12)   │ (a)=(63215) │ (96326,12) │
│        344 │ (96326,13)   │ (a)=(63215) │ (96326,13) │
│        345 │ (96326,14)   │ (a)=(63215) │ (96326,14) │
│        346 │ (96326,15)   │ (a)=(63215) │ (96326,15) │
│        347 │ (96326,16)   │ (a)=(63215) │ (96326,16) │
│        348 │ (96326,17)   │ (a)=(63215) │ (96326,17) │
│        349 │ (96326,18)   │ (a)=(63215) │ (96326,18) │
│        350 │ (96326,19)   │ (a)=(63215) │ (96326,19) │
│        351 │ (96326,20)   │ (a)=(63215) │ (96326,20) │
│        352 │ (96326,21)   │ (a)=(63215) │ (96326,21) │
│        353 │ (96327,1)    │ (a)=(63215) │ (96327,1)  │
│        354 │ (96327,2)    │ (a)=(63215) │ (96327,2)  │
│        355 │ (96327,3)    │ (a)=(63215) │ (96327,3)  │
│        356 │ (96327,4)    │ (a)=(63215) │ (96327,4)  │
│        357 │ (96327,5)    │ (a)=(63215) │ (96327,5)  │
│        358 │ (96327,6)    │ (a)=(63215) │ (96327,6)  │
│        359 │ (96327,7)    │ (a)=(63215) │ (96327,7)  │
│        360 │ (96327,8)    │ (a)=(63215) │ (96327,8)  │
│        361 │ (96327,9)    │ (a)=(63215) │ (96327,9)  │
│        362 │ (96327,10)   │ (a)=(63215) │ (96327,10) │
│        363 │ (96327,11)   │ (a)=(63215) │ (96327,11) │
│        364 │ (96327,12)   │ (a)=(63215) │ (96327,12) │
│        365 │ (96327,14)   │ (a)=(63215) │ (96327,14) │
│        366 │ (96327,13)   │ (a)=(63216) │ (96327,13) │
│        367 │ (96327,15)   │ (a)=(63216) │ (96327,15) │
└────────────┴──────────────┴─────────────┴────────────┘
(367 rows)

I only notice one tiny discontinuity in this "unshuffled" "idx" page: the index
tuple at offset 205 uses the heap TID (96320,1), whereas the index tuple right
after that (at offset 206) uses the heap TID (96319,21) (before we get to a
large run of heap TIDs that use heap block number 96320 once more).

As I touched on already, this effect can be seen even with perfectly correlated
inserts. The effect is caused by the FSM having a tiny bit of space left on one
heap page -- not enough space to fit an incoming heap tuple, but still enough to
fit a slightly smaller heap tuple that is inserted shortly thereafter. You end
up with exactly one index tuple whose heap TID is slightly out-of-order, though
only every once in a long while.

--
Peter Geoghegan



pgsql-hackers by date:

Previous
From: Timur Magomedov
Date:
Subject: Re: [WIP]Vertical Clustered Index (columnar store extension) - take2
Next
From: Tomas Vondra
Date:
Subject: Re: Adding basic NUMA awareness