In PostgreSQL könnte man vielleicht mit SECURITY DEFINER
auskommen -funktioniert dieser Grund auf dem aktuellen Benutzer? Hier dokumentiert:http://www.postgresql.org/docs/ 8.4/static/sql-createfunction.html
Bearbeiten:
plperl kann für Sitzungsvariablen verwendet werden . Es gibt andere Alternativen (siehe Link im Kommentar), aber plperl ist die einfachste davon.