It would be nice if PostgreSQL has *_extend (similar to $.extend from jQuery or _.extend from UnderscoreJs) for JSON/JSONB columns, so we could write it like this:
UPDATE tablename
SET jsoncolumn = json_extend(jsoncolumn, $2)
WHERE id = $1;
instead of this:
UPDATE tablename
SET data = (
SELECT json_object_agg(key, value)::jsonb
FROM
( SELECT * FROM jsonb_each( SELECT data FROM tablename WHERE id=$1 )