Robert Haas <robertmh...@gmail.com> writes: > On Tue, Mar 14, 2017 at 2:14 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> Robert Haas <robertmh...@gmail.com> writes: >>> It's become pretty clear to me that there are a bunch of other things >>> about hash indexes which are not exactly great, the worst of which is >>> the way they grow by DOUBLING IN SIZE.
>> Uh, what? Growth should happen one bucket-split at a time. > Technically, the buckets are created one at a time, but because of the > way hashm_spares works, the primary bucket pages for all bucket from > 2^N to 2^{N+1}-1 must be physically consecutive. See > _hash_alloc_buckets. Right, but we only fill those pages one at a time. It's true that as soon as we need another overflow page, that's going to get dropped beyond the 2^{N+1}-1 point, and the *apparent* size of the index will grow quite a lot. But any modern filesystem should handle that without much difficulty by treating the index as a sparse file. There may be some work to be done in places like pg_basebackup to recognize and deal with sparse files, but it doesn't seem like a reason to panic. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers