Tener problemas al usar array_agg cuando una fila contiene una matriz vacía ( {} ).
Esta es mi consulta SQL:
SELECT service_name, metric_name, array_agg(value_textarray) FROM service_data WHERE service_name = 'ActivityDataService' GROUP BY service_name, metric_nameDonde las definiciones de las columnas son las siguientes:
service_name - text metric_name - text value_textarray - text[] Cuando ejecuto la consulta y tengo una matriz vacía ( {} ) en la base de datos, aparece el siguiente error:
ERROR: cannot accumulate empty arrays¿Cómo debo hacer para arreglar esto?
Tuve el mismo problema en el que no pude filtrar la matriz vacía y encontré esta función. Esta función evita el error de 'acumulación de matrices vacías'.
CREATE AGGREGATE array_accum (anyarray) ( sfunc = array_cat, stype = anyarray, initcond = '{}' );