Pada pemeriksaan lebih dekat:Anda hanya perlu membagi tipe pengembalian komposit seperti ini:
CREATE OR REPLACE VIEW "Sumario" AS
SELECT ...
(conta_relatos("Fatores"."ID", "Fatores_1"."ID")).*
FROM ...
Detail tentang mengakses jenis komposit dalam manual.
Sebagai tambahan:Saya akan menyarankan untuk tidak menggunakan tanda kurung untuk GABUNG Anda kecuali Anda tahu persis apa yang Anda lakukan. Cara Anda memilikinya, Anda memaksa satu rencana eksekusi tertentu. Kemungkinannya, itu bukan yang terbaik.
Pendekatan pertama salah mengartikan pesan kesalahan
Saat Anda mendefinisikan fungsi dengan RETURNS record
(yang saya hindari bila memungkinkan), Anda harus memberikan daftar definisi kolom dengan setiap panggilan, seperti:
SELECT * FROM conta_relatos(1,2) AS f(col1 int, col2 text, ...)
Saya mengutip manualnya di sini :
Solusi bersihnya adalah mengubah fungsi Anda untuk mengembalikan tipe terkenal bukannya catatan anonim. Ada berbagai cara untuk melakukannya, tergantung pada situasinya. Jika Anda kesulitan menulis ulang fungsi Anda, buka pertanyaan lain.