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 ) UNION ALL SELECT * FROM jsonb_each( $2 ) ) x1 ) WHERE id=$1;