Re: Indexes in JSONB - Mailing list pgsql-general

From Magnus Hagander
Subject Re: Indexes in JSONB
Date
Msg-id CABUevEwOU1YuqYdQfULfbWJo_Ad9oz_NyFP56vBoPz4zv1rwew@mail.gmail.com
Whole thread Raw
In response to Indexes in JSONB  (Saurav Sarkar <saurav.sarkar1@gmail.com>)
Responses Re: Indexes in JSONB
Re: Indexes in JSONB
List pgsql-general


On Tue, Mar 29, 2022 at 7:06 AM Saurav Sarkar <saurav.sarkar1@gmail.com> wrote:
Hi All,

We use JSONB /NoSQL functionality of PostgreSQL.

One of the column "doc" in our table "Table1" is of type JSONB.

Now the rows in this column "doc" can have different values with different schemas.

For e.g values of doc per row will be something like below

ROW1 =  {"id":"1", "name":"abc" }
ROW2 =  {"id:"2" , "address": "address1"}
ROW3=   {"id":"3" , "name":"def", "country":"country1" }

So you can see the JSON is changing and keys/schema can be different for each rows.

During the course of time indexes will be created for the json keys of the JSON values in this column.
For e.g. on "name", "address" , "country" now. Later I can have another key and index like on "continent".

As per postgresql limitations there are limits on the indexes. So I understand we can create many indexes.

But obviously I understand creating many indexes will impact write performance and space will be utilized.

Would like to know if creating indexes in this manner can create any other issues or inputs on the whole topic of indexes in JSONB types.

You should not be creating indexes for every individual field if you have those needs. You should create one index, using GIN and probably jsonb_path_ops.


--

pgsql-general by date:

Previous
From: Saurav Sarkar
Date:
Subject: Indexes in JSONB
Next
From: Michael Lewis
Date:
Subject: Re: Indexes in JSONB