Non c'è modo di farlo solo con PostgreSQL:dovresti scrivere la tua funzione C.
Con l'estensione PostGIS, puoi trasmettere il path
a geometry
ed eseguire l'operazione lì:
SELECT array_agg(CAST(geom AS point))
FROM st_dumppoints(CAST(some_path AS geometry));