SELECT root_id, level, count(*) as count FROM matrix GROUP BY root_id, level
HAVING count(*) < power(_type.degree, level);
Он никуда и ничего не возвращает, о чем и говорит постгрес, и просит вызывать его как PERFORM если уж оно вам надо, видимо нужен INTO в _count, _level, etc ...