Re: Create array of data from JSONB in PG 9.5 - Mailing list pgsql-general

From Tom Lane
Subject Re: Create array of data from JSONB in PG 9.5
Date
Msg-id 28530.1573834098@sss.pgh.pa.us
Whole thread Raw
In response to Create array of data from JSONB in PG 9.5  (Arup Rakshit <ar@zeit.io>)
List pgsql-general
Arup Rakshit <ar@zeit.io> writes:
> I wrote the below SQL which works and give me what I want, but it doesn’t work in 9.5 version. I wrote this query in
PG10. I want to change it so that I can run it on 9.5 as production using 9.5 version. I need help on this. 

> SELECT DISTINCT
>     ARRAY [jsonb_array_elements(data) ->> 'group', jsonb_array_elements(jsonb_array_elements(data) -> 'properties')
->>'name'] 
> FROM
>     "vessels"
> WHERE
>     "vessels"."deleted_at" IS NULL
>     AND "vessels"."company_id" = '7d105acd-be5a-4225-a2db-b549105e4172';

> When I ran the same query to production I get error:
> ERROR:  set-valued function called in context that cannot accept a set

IIRC, you can't nest calls of set-returning functions before about v10.
One workaround is to put the inner set-returning function call into a
sub-select.

            regards, tom lane



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Create array of data from JSONB in PG 9.5
Next
From: Dave Hughes
Date:
Subject: Authentication: MD5 to SCRAM-SHA-256 error