Re: update field in jsonb

From: "Ivan E(dot) Panchenko" <i(dot)panchenko(at)postgrespro(dot)ru>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: update field in jsonb
Date: 2017-11-23 06:06:02
Message-ID: ae52b2f2-937d-9f4b-bb79-acb0377f991e@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


23.11.2017 04:45, support-tiger пишет:
> is there a way to update a single field in jsonb without replacing the
> entire json document - couldn't find an example
>
> for example
>
> create table test (id primary key, data jsonb);
>
> insert into test ({"name":"bill", "age":29});
>
>  ?? update test   set data->age = 30
>
>
When a record in PostgeSQL is UPDATEd, its new version is created. So
such partial JSON update would be not more than some syntax sugar. That
is why it is not yet implemented, though plans for that exist.

Now you have to do something like:

UPDATE test SET data = jsonb_set(data, ARRAY['age'], to_jsonb(30)) WHERE ..

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Oleg Bartunov 2017-11-23 06:27:27 Re: update field in jsonb
Previous Message support-tiger 2017-11-23 01:45:44 update field in jsonb