Re: Postgresql 9.4 / JSONB / JDBC - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: Postgresql 9.4 / JSONB / JDBC
Date
Msg-id CADK3HH+jL-rkSK8+SHuF--dPR_dmu4evBkfmENjd-go+hJYKjw@mail.gmail.com
Whole thread Raw
In response to Re: Postgresql 9.4 / JSONB / JDBC  (Dave Cramer <pg@fastcrypt.com>)
List pgsql-jdbc
Check that, apparently you are correct Mikko. 

Sorry for the noise.

Dave

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 31 December 2014 at 13:50, Dave Cramer <pg@fastcrypt.com> wrote:
I just checked with Andrew Dunstan, and apparently this is true for JSON, but not JSONB

Dave

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 31 December 2014 at 13:29, Mikko Tiihonen <Mikko.Tiihonen@nitorcreations.com> wrote:

Last time I checked (few months ago), the postgresql jsonb binary format was just a extra 4 byte version header followed by text json data. So basically the binary jsonb format was slower than text format. And since there is no official plan on how to modify the binary formats without breaking backwards compatibility it most likely will stay that way.


Having a proper binary encoding for jsonb would speed up parsing on both server and client side.


-Mikko


From: pgsql-jdbc-owner@postgresql.org <pgsql-jdbc-owner@postgresql.org> on behalf of Dave Cramer <pg@fastcrypt.com>
Sent: 29 December 2014 13:42
To: Christopher BROWN
Cc: List
Subject: Re: [JDBC] Postgresql 9.4 / JSONB / JDBC
 
Yes, we can pull the data from the server in binary. After that though we have to convert it to text

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 29 December 2014 at 05:08, Christopher BROWN <brown@reflexe.fr> wrote:
Hello,

Regarding my previous messages on this subject (JSONB support in the Postgresql JDBC driver), one assumption I'm making is that the driver might be able to stream the JSON data more efficiently that just throwing a chunk of text onto the wire... as text isn't the most efficient way of encoding numbers, booleans, and nulls.

How does the native network protocol of Postgresql actually transfer such data?  Is there an opportunity for sending the data efficiently?  Personally for some of my applications, I'm able to use Jackson's "Smile" binary JSON format, although I doubt that the Postgresql server would understand it or want to implement it (I don't know if it could be considered a standard, even if it's specified -- http://wiki.fasterxml.com/SmileFormatSpec).

--
Christopher


On 20 December 2014 at 10:44, Christopher BROWN <brown@reflexe.fr> wrote:
Hello,

I'm new to this list, and have tried searching both the mailing list archives, and internet in general, for information on how to use the new JSONB data type with JDBC.  Found almost nothing in the mailing list archives, and internet searches "helpfully" assume I've misspelled "json" and give me results that are unrelated or refer to the basic "JSON" type from older Postgresql versions.

How can this type be used, with simple "flat" key-value collections (maps), with tree-like maps-of-maps, and (ideally) with JSON APIs such as Jackson JSON API?

Is it possible?  Is it already described somewhere that I missed?

Thanks,
Christopher




pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: Postgresql 9.4 / JSONB / JDBC
Next
From: Christopher BROWN
Date:
Subject: Re: Postgresql 9.4 / JSONB / JDBC