"Merlin Moncure" <merlin.moncure@xxxxxxxxxxxxx> writes: > A simplified idealized version of what I would like to do is > begin > select (callback_routine)(record_type) > end; > from within a plpgsql function. I am borrowing the C syntax for a > function pointer here. Well, there's no function pointer type in SQL :-(. I don't see any way to do what you want in pure plpgsql. If you're willing to implement an auxiliary C function you could probably make it go: create function callit(oid, record) returns void ... where the OID has to be the OID of a function taking a record-type argument. The regprocedure pseudotype would allow you not to need to write any numeric OIDs in your code: select callit('myfunc(record)'::regprocedure, recordvar); The body of callit() need be little more than OidFunctionCall1() plus whatever error checking and security checking you want to include. regards, tom lane