Re: JSON query help

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gavin Henry <gavin(dot)henry(at)gmail(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: JSON query help
Date: 2019-08-28 20:43:16
Message-ID: 31920.1567024996@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Gavin Henry <gavin(dot)henry(at)gmail(dot)com> writes:
> This is 9.6 with BDR in.

Um ... I bet not. Maybe you're confusing the version of psql with
that of the server? Because jsonb_build_object() is definitely
there in 9.6.

> ERROR: operator does not exist: jsonb @> json

This one you just need a cast for --- the server won't automatically
convert json to jsonb. (I don't remember why we didn't make that
cast implicit, but probably there was a good reason.)

> How can I check if that function does exist?

On a 9.6 server, you should get

=# \df jsonb_build_object
List of functions
Schema | Name | Result data type | Argument data types | Type
------------+--------------------+------------------+---------------------+--------
pg_catalog | jsonb_build_object | jsonb | | normal
pg_catalog | jsonb_build_object | jsonb | VARIADIC "any" | normal
(2 rows)

If, as I suspect, it's really 9.4, you could substitute
json_build_object(...)::jsonb

regards, tom lane

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Browder 2019-08-28 23:30:18 Anyone recommend omnidb.org?
Previous Message Gavin Henry 2019-08-28 20:22:48 Re: JSON query help