On 2014-05-08 10:34:04 -0400, Bruce Momjian wrote:
> On Thu, May 8, 2014 at 10:16:54AM -0400, Tom Lane wrote:
> > > Can we hash just the values, not the keys, in jsonb_ops, and hash the
> > > combo in jsonb_hash_ops. That would give us key-only lookups without a
> > > recheck.
> >
> > No, because there's nothing in JSON limiting the length of keys, any more
> > than values.
> >
> > I think the idea of hashing only keys/values that are "too long" is a
> > reasonable compromise. I've not finished coding it (because I keep
> > getting distracted by other problems in the code :-() but it does not
> > look to be very difficult. I'm envisioning the cutoff as being something
> > like 128 bytes; in practice that would mean that few if any keys get
> > hashed, I think.
>
> Yes, that would be nice. Ideally we would not be doing this so close to
> beta, but it is what it is, and if we need to break binary compatibility
> after beta1, at least we have pg_upgrade.
If we break binary compatibility pg_upgrade won't be able to help. Since
the data files wont be, err, binary compatibile.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services