поле этого типа хранятся несколько пар "ключ-значение". Как заменить допустим FOO: 1 на FOO: 2, а также если FOO не задано - создать него с новым значением? Была б одна запись - делал бы пересборкой всего JSONB поля, а надо для массового UPDATE, где заранее пары с ключом FOO может не быть.
Что-то из jsonb_insert / jsonb_set / jsonb_set_lax , скорее всего.
WITH t AS (SELECT '{"CODE":"1", "NAME":"2"}'::jsonb obj) SELECT t.obj,t.obj - 'NAME' || jsonb_build_object('NAME','3') AS new_obj FROM t
Обсуждают сегодня