Re: jsonb and where clause? - Mailing list pgsql-general

From Bjorn T Johansen
Subject Re: jsonb and where clause?
Date
Msg-id 20171128120758.76d98ff4@pennywise-btj
Whole thread Raw
In response to Re: jsonb and where clause?  ("Ivan E. Panchenko" <i.panchenko@postgrespro.ru>)
List pgsql-general
On Tue, 28 Nov 2017 13:52:59 +0300
"Ivan E. Panchenko" <i.panchenko@postgrespro.ru> wrote:

> 28.11.2017 13:25, Bjorn T Johansen пишет:
> > On Tue, 28 Nov 2017 11:28:55 +0300
> > "Ivan E. Panchenko" <i.panchenko@postgrespro.ru> wrote:
> >
> >> Hi Bjorn,
> >>
> >> 28.11.2017 11:18, Bjorn T Johansen пишет:
> >>> Hi.
> >>>
> >>> Just starting to look at how to use jsonb columns and I have a question. I have found out that I can use the
followingto search for a value 
> >>> inside the jsonb column:
> >>>
> >>> select * from orders where info ->> 'customer' = 'John Doe'    (where info is the jsonb column)
> >>>
> >>>
> >>> But what if the jsonb column contains an json array, how can I search then?
> >>>
> >>> info -> [ { "customer" : "John Doe" } ]
> >> If you know the index in array, you can search like
> >> info->0->>'customer'
> >> If you want to search in any array element, you need to use JSQUERY
> >> extension,
> >> see https://github.com/postgrespro/jsquery
> >>
> >>>
> >>> btw, using PostgreSQL 9.6 but will be moving to 10 soon.
> >>>
> >>>
> >>> Regards,
> >>>
> >>> BTJ
> >>>
> >> Regards,
> >> Ivan
> >>
> > Thx... :)
> >
> > btw, just managed to use the following sql:
> >
> > select * from orders where info @> '{"recs": [{ "customer":"John Doe"}]}'
> >
> > (changed my json string to info -> { "recs: [ { "customer" : "John Doe" } ] }
> >
> > And this seems to work but is this the "wrong" way of doing it or?
> Yes, definitely it works, and is be supported by GIN index.
>
> Nevertheless, I recommend you to have a look at JSQUERY which allows
> more complex queries, also with index support.
> >
> >
> > BTJ
> >
> Regards,
> Ivan
>

Ok, will have a look at JSQUERY also... :)

BTJ


pgsql-general by date:

Previous
From: "Ivan E. Panchenko"
Date:
Subject: Re: jsonb and where clause?
Next
From: Adam Brusselback
Date:
Subject: Re: [GENERAL] postgres_fdw & could not receive data from client:Connection reset by peer