In PostgreSQL könnte man vielleicht mit SECURITY DEFINER auskommen -funktioniert dieser Grund auf dem aktuellen Benutzer? Hier dokumentiert:https://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.