En PostgreSQL 9.0 o posterior use string_agg(val, ',')
.
Devuelve una cadena con delimitadores de su elección.
array_agg(val)
devuelve una matriz , no hay sorpresa allí. Las llaves que ves son parte integral de array literals
- la representación de texto de matrices.
En versiones anteriores (o cualquier versión en realidad) puede sustituir con array_to_string(array_agg(val), ',')
.
O, rápido y sucio:trim(array_agg(val)::text, '{}'
- si los valores nunca comienzan o terminan con llaves.