I am working in Postgres 9.4 with the following table:
     Column      │         Type         │ Modifiers
─────────────────┼──────────────────────┼──────────────────────
 id              │ integer              │ not null default
 practice_id     │ character varying(6) │ not null
 date            │ date                 │ not null
 pct_id          │ character varying(3) │
 total_list_size │ double precision     │ not null
 star_pu         │ jsonb                │
I have the following query:
SELECT date,
       AVG(total_list_size) AS total_list_size,
       json_object_agg(key, val) AS star_pu
FROM (SELECT date,
             SUM(total_list_size) AS total_list_size,
             key, SUM(value::numeric) val FROM frontend_practicelist p,
             jsonb_each_text(star_pu)
       GROUP BY date, key ) p
GROUP BY date
ORDER BY date;
It gives me results with a JSON object attached to star_pu:
date            │ 2013-04-01
total_list_size │ 56025123.000000000000
star_pu         │ { "antidepressants_cost" : 180102416.8036909901975399, "antiepileptic_drugs_cost" : 296228344.171576079922216... }
Instead I would like to flatten the JSON result to a series of namespaced keys, so the result looks like this:
date                             │ 2013-04-01
total_list_size                  │ 56025123.000000000000
star_pu.antidepressants_cost     │ 180102416.8036909901975399
star_pu.antiepileptic_drugs_cost │ 296228344.171576079922216 
...
Is this possible?