What I want to do is throw semi-structured JSON data into a database, and define indexes on a few columns that I'd like to do equality and ranged queries on. Mongo seems ideal for this, but I don't needs its performance, and want durability and the ability to run the odd query which covers more data than fits into RAM, without completely falling over.
Right now, the alternative is to do something like the following in Postgres, and have the application code extract a few things from the JSON and duplicate them into database columns when I insert data.
CREATE TABLE collected_data(
source_node_id TEXT NOT NULL,
timestamp INTEGER NOT NULL,
json_data TEXT);
CREATE INDEX collected_data_idx ON collected_data(source_node_id, timestamp);