Lorsque vous mettez des expressions entre parenthèses, Postgres interprète le résultat comme un tuple -- essentiellement une structure ou un enregistrement.
Donc, votre déclaration :
SELECT (
nextval('"KPI_MEASURE_ID_seq"'::regclass),
now(),
kpi_project.id,
kpi_measure.kpi_frequency_id,
kpi_metric.id ,
kpi_measure.branch ,
sum(kpi_measure.value)
)
retourne une valeur. Cette valeur est un enregistrement.
Les bases de données qui ne prennent pas en charge les tuples renverraient une erreur.
La solution est de supprimer les parenthèses.