Having to work with unstructured datatypes in Postgres and other RDBMS products was quite hard a few years back, now with hstore and JSONB in Postgres this has gotten much better but it still feels a bit unnatural.
When we started the Raijin database project (http://raijindb.com) one of the goals was to make it possible to treat these extra attributes (that you would shove into JSONB with postgres) as normal "columns" so you can do this:
CREATE TABLE tbl(eventtime datetime);
INSERT INTO tbl {"eventtime":"2016-07-20 10:37:12","foo":"bar","whatever":"xx"};
INSERT INTO tbl {"eventtime":"2016-07-20 10:38:22","foo":"bar2","intfield":42};
SELECT foo, intfield FROM tbl;
--
{"foo":"bar","intfield":null}
{"foo":"bar2","intfield":42}
It won't complain about the missing 'columns'.Anyway, glad to see that Postgres is steadily making progress in this area.