Don Croata <el(dot)croata(at)gmail(dot)com> writes:
> It's a function who has a cursor and calls itself, but the problem raises
> after the first recursion, when PgSQL complains:
> ERROR: cursor "cur" already in use
> Are the cursors kept globally? or cached like TEMP TABLE?
Cursor names are global within a particular session.
IIRC there is a syntax for opening a cursor without specifying a name,
in which case plpgsql will pick one that's not in use. This is probably
what you want to use.
regards, tom lane