サンプルデータ、JSON列が、次のデータである時、
{"key": "E", "name": "orange", "ppp": "pst" }
追加や更新
|| で、マージする。
UPDATE jbooks SET jdata = jdata::jsonb || json_build_object( 'key', 'D', 'point', 14 )::jsonb WHERE id = 12
削除、
#- で、削除対象のキーを指定する。
UPDATE jbooks SET jdata = jdata #- '{ppp}' WHERE id = 12
追加、更新、削除を一度にやる。
#- 演算子で、繋げる
UPDATE jbooks SET jdata = jdata::jsonb || json_build_object( 'key', 'D', 'point', 14 )::jsonb #- '{ppp}' WHERE id = 12
結果、こうなる
{"key": "D", "name": "orange", "point": 14 }