Peter Geoghegan wrote: > Index bloat is a general problem that B-Trees have in all other major > systems, but I think that PostgreSQL has a tendency to allow indexes > to become progressively more bloated over time, in a way that it often > can never recover from [1].
Interesting assertion. Many years ago I set to implement btree page merging[1] from ideas in a 1996 paper[2], though that work never saw the light of day. Maybe it can be valuable now. Another thing to consider is indirect indexes, wherein you get less heap bloat because more updates can become HOT. If we also allow heap to be pruned from line pointers by walking indexes to remove specific pointers, instead of requiring indexes to be scanned whole for the removal, as proposed by Andres, we could get further along. [1] https://www.postgresql.org/message-id/20020912235429.4714071a.alvhe...@atentus.com [2] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.9961 -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers