Fwiw the jsonb data doesn't actually seem to be any smaller than text
json on this data set (this is avg(pg_column_size(col)) and I checked,
they're both using the same amount of toast space)
jsonb | json
-------+-------813.5 | 716.3
(1 row)
It's still more than 7x faster in cpu costs though:
stark=# select count(attrs->'properties'->>'STREET') from citylots;count
--------196507
(1 row)
Time: 1026.678 ms
stark=# select count(attrs->'properties'->>'STREET') from citylots_json;count
--------196507
(1 row)
Time: 7418.010 ms