PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> I found very weird situation with size of highly selective partial hash
> indexes (they has almost same size as full table hash index).
hashbuild() sets up the initial hash index size based on estimating
the current number of rows in the table, without any correction for
partial-index selectivity. I don't find this to be a bug particularly.
The odds of making things worse via a bad estimate seem at least as
high as the odds of making things better.
regards, tom lane