Vid närmare granskning:Du behöver bara dela upp den sammansatta returtypen så här:
CREATE OR REPLACE VIEW "Sumario" AS
SELECT ...
(conta_relatos("Fatores"."ID", "Fatores_1"."ID")).*
FROM ...
Information om åtkomst av sammansatta typer i manualen.
För övrigt:Jag skulle råda dig att inte använda parentes för dina JOINs om du inte vet exakt vad du gör. Som du har det, tvingar du fram en viss utförandeplan. Chansen är stor att det inte är den bästa.
Första tillvägagångssättet misstolkade felmeddelandet
När du definierar en funktion med RETURNS record
(vilket jag undviker när det är möjligt), du måste tillhandahålla en kolumndefinitionslista med varje anrop, som:
SELECT * FROM conta_relatos(1,2) AS f(col1 int, col2 text, ...)
Jag citerar handboken här :
Den rena lösningen är att ändra din funktion för att returnera en välkänd typ istället för ett anonymt register. Det finns olika sätt att gå tillväga beroende på omständigheterna. Om du har problem med att skriva om din funktion, öppna en annan fråga.