Eine neue Funktion in PostgreSQL 9.2, aber ich habe die Abfrage nicht getestet:
Ich folge dem Tutorial von hier .
select row_to_json(t)
from (
select ParentTable.parentTableFirstProp, (
select array_to_json(array_agg(row_to_json(child)))
from (
select childTableFirstProp
from ChildTable
where ChildTable.id=ParentTable.parentToChildReference
) child
) as parentToChildReference
from ParentTable
) t