No PostgreSQL 9.0 ou mais tarde, use
string_agg(val, ',')
.Retorna uma string com delimitadores de sua escolha.
array_agg(val)
retorna uma matriz , nenhuma surpresa. As chaves que você vê são parte integrante de literais de matriz
- a representação de texto de matrizes. Em versões mais antigas (ou qualquer versão realmente) você pode substituir por
array_to_string(array_agg(val), ',')
. Ou, quick'n'dirty:
trim(array_agg(val)::text, '{}'
- se os valores nunca começarem ou terminarem com chaves.