O "não é bem duplicado" nos comentários deve apontar na direção certa:crie seu próprio agregado função . Primeiro, você precisará de uma função de concatenação de string não agregada, algo assim:
create function concat(t1 text, t2 text) returns text as $$
begin
return t1 || t2;
end;
$$ language plpgsql;
Então você pode definir sua própria versão agregada dessa função:
create aggregate group_concat(
sfunc = concat,
basetype = text,
stype = text,
initcond = ''
);
Agora você pode
group_concat
tudo o que você quer:select group_concat(s)
from t
group by g
Eu cavei isso dos meus arquivos, mas acho que deve funcionar no 8.2.
Lembre-se de que o 8.2 não é mais suportado, portanto, você pode querer atualizar para pelo menos 8.4 o mais rápido possível.