Вы неожиданно столкнулись с этой функцией) Запись требует двух и более полей.Поэтому, когда у вас есть только одна переменная out, тогда результат должен быть скалярным.
Таким образом, вы можете просто делать то, что запрашивают компиляторы)
CREATE OR REPLACE FUNCTION GetNumberOne(
OUT numberone bigint)
RETURNS bigint AS
$BODY$
SELECT CAST(1 AS BIGINT) AS "NUMBERONE";
$BODY$
LANGUAGE sql VOLATILE;
plpgsql пример:
CREATE OR REPLACE FUNCTION NumberOne()
RETURNS bigint AS
$BODY$
DECLARE num bigint;
BEGIN
num := 1;
RETURN num;
END
$BODY$
LANGUAGE plpgsql VOLATILE;
select * from NumberOne()