Suppose my previous Fibonacci code should be a function. Here it is: CREATE OR REPLACE FUNCTION fibonacci(int) RETURNS SETOF int AS $BODY$ WITH RECURSIVE t(a, b) AS ( VALUES (1, 1) UNION ALL SELECT b, a + b FROM t ) SELECT a FROM t LIMIT $1; $BODY$ IMMUTABLE STRICT LANGUAGE SQL; Take care!