Ved nærmere eftersyn:Du behøver kun at opdele den sammensatte returtype sådan her:
CREATE OR REPLACE VIEW "Sumario" AS
SELECT ...
(conta_relatos("Fatores"."ID", "Fatores_1"."ID")).*
FROM ...
Detaljer om adgang til sammensatte typer i manualen.
Som en sidebemærkning:Jeg vil råde dig til ikke at bruge parentes til dine JOINs, medmindre du ved præcis, hvad du laver. Som du har det, fremtvinger du én bestemt eksekveringsplan. Chancerne er, at det ikke er den bedste.
Første tilgang misfortolkede fejlmeddelelsen
Når du definerer en funktion med RETURNS record
(hvilket jeg undgår, når det er muligt), skal du angive en kolonnedefinitionsliste med hvert opkald, f.eks.:
SELECT * FROM conta_relatos(1,2) AS f(col1 int, col2 text, ...)
Jeg citerer manualen her :
Den rene løsning er at ændre din funktion for at returnere en velkendt type i stedet for en anonym registrering. Der er forskellige måder at gøre det på, alt efter omstændighederne. Hvis du har problemer med at omskrive din funktion, skal du åbne et andet spørgsmål.