No PostgreSQL, talvez você possa usar o
SECURITY DEFINER
-funções que raciocinam no usuário atual? Documentado aqui:http://www.postgresql.org/docs/ 8.4/static/sql-createfunction.html
Editar:
plperl pode ser usado para variáveis de sessão . Existem outras alternativas (veja link no comentário), mas plperl é a mais simples delas.