PostgreSQL, como agregar linhas em colunas

Neste vídeo vou mostrar como fazer uma consulta utilizando duas tabelas: Produtos e Grade de Cor e tamanho.

Vou mostrar como exibir os registros da forma tradicional utilizando o join e também de uma forma agregada, ou seja, transformando registros em linhas.

select p.codprod , p.descprod,
array_to_string( array_agg(pg.cor||' '||pg.tamanho) ,' | ') Cores_e_Tamanhos
from produto p
left join produto_grade pg on pg.produto = p.codprod
where p.codprod  > 2447
group by codprod