On Wed, Apr 9, 2014 at 2:37 AM, Heikki Linnakangas <hlinnakan...@vmware.com> wrote: > Both of the operator classes are actually much less flexible than I'd like. > Firstly, they index everything. In many cases, that's not what you want, so > you end up with much larger indexes than necessary. Secondly, jsonb_ops > indexes all values separately from the keys. That makes the index pretty > much useless for a query on, say, WHERE json @> '{"needs_processing":true}', > if all the rows also contain a key-value pair "active":true. Thirdly, > inequality operators are not supported; you can't search for rows with (the > json-syntax equivalent of) "price < 12.3". Fourthly, sometimes you would > want to include the "path" to an entry in the key, sometimes not.
Maybe we should make *neither* of these the default opclass, and give *neither* the name json_ops. > ISTM we need a way to parameterize opclasses, so that when you create the > index, you specify the above things. Yeah, that would be great. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers