O uso de full outer join
parece correto, mas os termos selecionados não lidam corretamente com itens ausentes. Usar coalesce
deve fazer o truque:
SELECT COALESCE (tb2.id, tb1.id) AS id, COALESCE (tb2.name, tb1.name) AS name
FROM tb1
FULL OUTER JOIN tb2 ON tb1.id = tb2.id;