Postgres - converte lista de adjacência em objeto JSON aninhado

Eu tenho uma tabela com esses dados no Postgres e estou tendo dificuldades para convertê-los em um 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

Como faço para convertê-lo assim?

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

Qualquer sugestão vai ajudar. obrigado

questionAnswers(1)

yourAnswerToTheQuestion