Re: JSON query help

Tom Lane <[email protected]> Wed, 28 Aug 2019 16:43:16 -0400
Newsgroups gmane.comp.db.postgresql.novice
Message-ID <[email protected]>
Gavin Henry <[email protected]> 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