Du kan gøre dette mest enkelt i Postgres som sådan (ved at bruge array-kolonner)
CREATE TEMP TABLE output AS SELECT
id, cat, ARRAY_AGG(realtime) as time, ARRAY_AGG(value) as values
FROM input GROUP BY id, cat;
Vælg derefter, hvad du vil have ud af outputtabellen.