Aggregate JSON column
You need to first normalize the JSON data into a result that can be aggregated: 

with data (doc) as (
  values 
    ('{"a": 1, "b": 4}'::jsonb), 
    ('{"b": 7, "c": 3}'::jsonb)
)
select k, v::int as val
from data, jsonb_each_text(doc) as t(k,v);


returns 

k | v
--+--
a | 1
b | 4
b | 7
c | 3


This can now be aggregated per key:

select k, sum(v::int) s
from data, jsonb_each_text(doc) as t(k,v)
group by k;


returns:

k | s
--+----
c |  3
a |  1
b | 11


This can now be converted back and aggregated into a JSON:

select jsonb_object_agg(k,s) as doc
from (
  select k, sum(v::int) s
  from data, jsonb_each_text(doc) as t(k,v)
  group by k
) t


returns 

doc                      
-------------------------
{"a": 1, "b": 11, "c": 3}