"Derrick Betts" <derrick@grifflink.com> writes:
> I'm trying to write a function that uses dynamic column names to fetch
> the results within those columns.
The only way to do that in plpgsql is to construct a query string and
execute it with EXECUTE (or FOR ... IN EXECUTE). Anything else falls
foul of plpgsql's desire to cache execution plans for its queries.
The other PL languages make this easier, mainly because (a) their semantics
for database queries are always like EXECUTE, and (b) they all have more
extensive string-pushing facilities than plpgsql. So you should consider
plperl, pltcl, and/or plpython depending on which languages you know.
regards, tom lane