Re: Multiple FPI_FOR_HINT for the same block during killing btree index items
James Coleman <jtc331@gmail.com>
From: James Coleman <jtc331@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Álvaro Herrera <alvherre@2ndquadrant.com>
Date: 2020-04-10T01:47:27Z
Lists: pgsql-hackers
On Thu, Apr 9, 2020 at 8:32 PM Peter Geoghegan <pg@bowt.ie> wrote: > > On Thu, Apr 9, 2020 at 5:25 PM Peter Geoghegan <pg@bowt.ie> wrote: > > Was this a low cardinality index in the way I describe? If it was, > > then we can hope (and maybe even verify) that the Postgres 12 work > > noticeably ameliorates the problem. > > What I really meant was an index where hundreds or even thousands of > rows for each distinct timestamp value are expected. Not an index > where almost every row has a distinct timestamp value. Both timestamp > index patterns are common, obviously. I'll try to run some numbers tomorrow to confirm, but I believe that the created_at value is almost (if not completely) unique. So, no, it's not a low cardinality case like that. I believe the write pattern to this table likely looks like: - INSERT - UPDATE - DELETE for every row. But tomorrow I can do some more digging if needed. James
Commits
-
Avoid killing btree items that are already dead
- 4649eb91916b 9.6.19 landed
- 37b5c5fde46a 11.9 landed
- 242dfcbafac5 13.0 landed
- 1d84751c60bf 12.4 landed
- 0a319699d59c 9.5.23 landed
- 09f2752b0465 10.14 landed