Documentation on Hash and btree Indexes on jsonb

From: PG Doc comments form <noreply(at)postgresql(dot)org>
To: pgsql-docs(at)lists(dot)postgresql(dot)org
Cc: holger(dot)vornholt(at)deutschebahn(dot)com
Subject: Documentation on Hash and btree Indexes on jsonb
Date: 2021-02-13 09:37:19
Message-ID: 161320903985.3454.7956608521954674568@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/13/datatype-json.html
Description:

Hello everyone,

we are planning to test postgres as a nosql database for streaming kafka
events (converted to jsonb) into it next week.

Therefore I am researching on index types. We would mostly be using queries
like message @> '{"fahrtnummer": "37458"}' or message ->> 'fahrtnummer' =
'37458' respectively. Where fahrtnummer always exists and is not an array.

The documentation on https://www.postgresql.org/docs/12/datatype-json.html
claims:
"jsonb also supports btree and hash indexes. These are usually useful only
if it's important to check equality of complete JSON documents."

According to some older information from 2016

https://bitnine.net/blog-postgresql/postgresql-internals-jsonb-type-and-its-indexes/?ckattempt=1
https://stackoverflow.com/questions/36075918/postgresql-index-on-json
it seems to be a valid option to use hash or btree indexes in that case
however.
"As a result, in the choice of an index for JSONB type, if the index
searches a few predetermined attributes, BTREE is the best choice"

The quoted sentance from the postgres documentation would suggest, that this
option could be discarded. I would love to hear your feedback on this
matter.

Thank you!
Holger

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message PG Doc comments form 2021-02-14 15:02:34 Duplicate documentation within the same page
Previous Message PG Doc comments form 2021-02-08 16:08:16 pgstattuple() should not be used on hash indexes