I'd go with option 2 (jsonb), as it's likely already well supported by yourapplications, while the other approaches will require a good bit ofcustomization. JSONB can be indexed, so performance should be on par with"traditional" tables.
Cheers,Greg