Postgres - Convertir lista de adyacencia a objeto JSON anidado

Tengo una tabla con estos datos en Postgres y estoy teniendo dificultades para convertir esto en un objeto JSON.

node_id    parent_node    name
-------    -----------    ----
1                         node1
2          1              node2
3          1              node3
4          2              node4
5          2              node5
6          2              node6
7          3              node7
8          3              node8

¿Cómo lo convierto así?

{
    name: 'node1'
    childs: [
        { 
            name: 'node2',
            childs: [
                {
                    name: 'node4',
                    childs: []
                },
                {
                    name: 'node5',
                    childs: []
                },
                {
                    name: 'node6',
                    childs: []
                }
            ]
        },
        ...    
    ]
}

Cualquier sugerencia ayudará. Gracia

Respuestas a la pregunta(1)

Su respuesta a la pregunta