jsonb_set()の秘訣 jsonbの一部を変更するということです オブジェクトですが、オブジェクト全体を返します。したがって、変更する列の現在の値と変更するパス(ここでは「ページ」、文字列配列として)を渡し、次に既存の配列(my_column->'pages')を取得します。 )そして||を追加します それへの新しいオブジェクト。 jsonbの他のすべての部分 オブジェクトはそのままです。完全に新しいオブジェクトを列に効果的に割り当てていますが、UPDATEであるため、これは関係ありません。 とにかく、新しい行を物理テーブルに書き込みます。
UPDATE my_table
SET my_column = jsonb_set(my_column, '{pages}', my_column->'pages' || new_json, true);
オプションのcreate_missing パラメータをtrueに設定 「pages」オブジェクトがまだ存在しない場合は、ここに追加します。