From: | Wei Shan <weishan(dot)ang(at)gmail(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Keith <keith(at)keithf4(dot)com>, pgsql-admin <pgsql-admin(at)postgresql(dot)org> |
Subject: | Re: Some questions on PostgreSQL 9.6 JSONB |
Date: | 2017-08-30 17:26:32 |
Message-ID: | CAFe9ZTr2_cPQ80AmRRvHmjoX3BgEV8KSYyBcpMUSBZqbvucFOg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Stupid question really,
If I have to specify the entire JSON value, this means that the update
query replaces the entire row instead of updating a single field. Is this
correct?
On 28 August 2017 at 16:20, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
wrote:
> On Mon, Aug 28, 2017 at 7:06 AM, Keith <keith(at)keithf4(dot)com> wrote:
>
>> On Mon, Aug 28, 2017 at 9:46 AM, Wei Shan <weishan(dot)ang(at)gmail(dot)com> wrote:
>>>
>>> Is this the most efficient way to do it? I'm not sure because this is
>>> basically replacing the entire JSON object instead of updating a single
>>> field.
>>>
>>>
>> keith(at)keith=# UPDATE json_data SET data = jsonb_set(data,
>> '{account_balance}', '1'::jsonb, false);
>>
>
> This. Note still that in a MVCC (multi-version concurrency controlling)
> database you never really just update something in place since the old
> something has to continue to exist at the same time as the new something -
> at least for a little while.
>
> David J.
>
--
Regards,
Ang Wei Shan
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2017-08-30 17:49:28 | Re: Some questions on PostgreSQL 9.6 JSONB |
Previous Message | Aleksander Kamenik | 2017-08-30 12:01:12 | Re: pg_current_xlog*_location and pg_stat_replication.replay_location > 0 for synced replication connection |