Разница между RETURNS SETOF record и RETURNS TABLE в PostgreSQL заключается в том, как объявлять функции, возвращающие множества: 12
- RETURNS SETOF record показывает, что функция возвращает множество строк вместо одной. 1 При этом выходные столбцы не имеют типов и имён. 3
- RETURNS TABLE(столбцы) позволяет объявить функцию, возвращающую таблицы, с определёнными столбцами. 12 Этот синтаксис описан в последних версиях стандарта SQL и может быть более портируемым, чем SETOF. 1 При использовании RETURNS TABLE нельзя явно указывать OUT и INOUT для параметров — все выходные столбцы необходимо записать в списке TABLE. 1