On Sat, May 30, 2015 at 11:52 AM, john.tiger <john.tigernassau@xxxxxxxxx> wrote: > using 9.4.2 > > suppose we have > create table test (id serial primary key, data jsonb); > insert into test (data) values ({"a":1, "b":2}) > > want to replace "b" with 3 > > okay, we are retrieving entire record > res = select * from test where data ->> b = 2 > > newrec = res > newrec["b" = 3 > > delete from test where data ->> b= 2 > insert into test (data) values (newrec) > > is this the best way until upsert arrives ? Append the new value to it the existing field, jsonb has as property to enforce key uniqueness, and uses the last value scanned for a given key. -- Michael -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general