hstore - jsonb

Started by Armand Turpelabout 12 years ago6 messagesgeneral
Jump to latest
#1Armand Turpel
armand.turpel.mnhn@gmail.com

Hi,

A few questions about jsonb and hstore:

1. does jsonb replace hstore?
2. compatibility of jsonb <> hstore?
3. will the development of hstore continue?
4. is it recommended to use jsonb when planning new projects?

Thanks
Armand

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Oleg Bartunov
oleg@sai.msu.su
In reply to: Armand Turpel (#1)
Re: hstore - jsonb

On Fri, Apr 4, 2014 at 12:20 PM, Armand Turpel
<armand.turpel.mnhn@gmail.com> wrote:

Hi,

A few questions about jsonb and hstore:

1. does jsonb replace hstore?

no, it's different data type

2. compatibility of jsonb <> hstore?

hstore is a simple key-value model, while jsonb - richer document-based model.

3. will the development of hstore continue?

I don't believe so, we froze nested hstore to concentrate development
resources to jsonb. Nested hstore still available from
http://www.sigaev.ru/git/gitweb.cgi?p=hstore.git;a=summary
It's should be compatible with 9.3

4. is it recommended to use jsonb when planning new projects?

yes, we are working on jsonb support.

Thanks
Armand

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3Thom Brown
thom@linux.com
In reply to: Oleg Bartunov (#2)
Re: hstore - jsonb

On 4 April 2014 13:04, Oleg Bartunov <obartunov@gmail.com> wrote:

On Fri, Apr 4, 2014 at 12:20 PM, Armand Turpel
<armand.turpel.mnhn@gmail.com> wrote:

Hi,

A few questions about jsonb and hstore:

1. does jsonb replace hstore?

no, it's different data type

2. compatibility of jsonb <> hstore?

hstore is a simple key-value model, while jsonb - richer document-based model.

3. will the development of hstore continue?

I don't believe so, we froze nested hstore to concentrate development
resources to jsonb. Nested hstore still available from
http://www.sigaev.ru/git/gitweb.cgi?p=hstore.git;a=summary
It's should be compatible with 9.3

4. is it recommended to use jsonb when planning new projects?

yes, we are working on jsonb support.

One major advantage of hstore over json/jsonb at the moment is data
manipulation, which could make json/jsonb a non-starter for some.

For example, in hstore one can do:

-- remove a key/value pair by key
UPDATE mytable SET hcolumn = hcolumn - 'mykey'::text;

or:

-- remove a key/value pair by key/value
UPDATE mytable SET hcolumn = hcolumn - 'mykey=>myvalue'::hstore;

or:

-- add/replace a key/value pair
UPDATE mytable SET hcolumn = hcolumn || 'newkey=>newvalue'::hstore;

You can't do something like that with json/jsonb at the moment, and
that's not going to be possible in the upcoming version either. You'd
probably have to resort to application-side modification, or use
something like pl/v8.

--
Thom

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#4Oleg Bartunov
oleg@sai.msu.su
In reply to: Thom Brown (#3)
Re: hstore - jsonb

We'll work on contrib/jsonxtra with all operators ported from hstore
and release it after 9.4 as separate extension.

On Fri, Apr 4, 2014 at 4:32 PM, Thom Brown <thom@linux.com> wrote:

On 4 April 2014 13:04, Oleg Bartunov <obartunov@gmail.com> wrote:

On Fri, Apr 4, 2014 at 12:20 PM, Armand Turpel
<armand.turpel.mnhn@gmail.com> wrote:

Hi,

A few questions about jsonb and hstore:

1. does jsonb replace hstore?

no, it's different data type

2. compatibility of jsonb <> hstore?

hstore is a simple key-value model, while jsonb - richer document-based model.

3. will the development of hstore continue?

I don't believe so, we froze nested hstore to concentrate development
resources to jsonb. Nested hstore still available from
http://www.sigaev.ru/git/gitweb.cgi?p=hstore.git;a=summary
It's should be compatible with 9.3

4. is it recommended to use jsonb when planning new projects?

yes, we are working on jsonb support.

One major advantage of hstore over json/jsonb at the moment is data
manipulation, which could make json/jsonb a non-starter for some.

For example, in hstore one can do:

-- remove a key/value pair by key
UPDATE mytable SET hcolumn = hcolumn - 'mykey'::text;

or:

-- remove a key/value pair by key/value
UPDATE mytable SET hcolumn = hcolumn - 'mykey=>myvalue'::hstore;

or:

-- add/replace a key/value pair
UPDATE mytable SET hcolumn = hcolumn || 'newkey=>newvalue'::hstore;

You can't do something like that with json/jsonb at the moment, and
that's not going to be possible in the upcoming version either. You'd
probably have to resort to application-side modification, or use
something like pl/v8.

--
Thom

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#5Thom Brown
thom@linux.com
In reply to: Oleg Bartunov (#4)
Re: hstore - jsonb

On 4 April 2014 16:15, Oleg Bartunov <obartunov@gmail.com> wrote:

We'll work on contrib/jsonxtra with all operators ported from hstore
and release it after 9.4 as separate extension.

That would be useful. :)

Would there be an aim of getting that in-core for 9.5?

--
Thom

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#6Oleg Bartunov
oleg@sai.msu.su
In reply to: Thom Brown (#5)
Re: hstore - jsonb

On Fri, Apr 4, 2014 at 7:17 PM, Thom Brown <thom@linux.com> wrote:

On 4 April 2014 16:15, Oleg Bartunov <obartunov@gmail.com> wrote:

We'll work on contrib/jsonxtra with all operators ported from hstore
and release it after 9.4 as separate extension.

That would be useful. :)

Would there be an aim of getting that in-core for 9.5?

I hope so.

--
Thom

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general